A. 如何用pcl配置visual studio 2010
1.首先下載windows的安裝包。我用的是預編譯版本的多合一包,需要自己編譯的也可以。注意下載時要看清楚vs2010的版本是32位還是64位,不然一些庫會找不到對應入口,導致編譯不通過的。
tips:可以在開始菜單下的Microsoft Visual Studio 2010文件夾下,查看Microsoft Windows SDK Tools,如果看到程序後面(如IL反匯編程序)有(x64)字樣,則vs是64位的,沒有就放心安裝32位版本吧。
如果是用cmake生成pcl解決方案,要注意在cmake的時候確定各個依賴庫的路徑,可以在對應項上把滑鼠停留一下,看看有什麼提示信息,特別是VTK的目錄。有些時候能夠繼續生成,但是部分模塊並沒有設置好參數,會導致編譯出來的PCL運行不良好。
2.安裝完畢後就測試一下PCL的效果吧,要注意項目對應的包含目錄、庫目錄、庫文件(LIB)和運行環境(DLL)。
用http://www.pointclouds.org/documentation/tutorials/pcl_visualizer.php#pcl-visualizer上面的常式試一試,新建工程,粘貼代碼……
在包含目錄下添加:
C:\Program Files\PCL 1.5.1\3rdParty\Boost\include;
C:\Program Files\PCL 1.5.1\3rdParty\Eigen\include;
C:\Program Files\PCL 1.5.1\3rdParty\Flann\include;
C:\Program Files\PCL 1.5.1\3rdParty\Qhull\include;
C:\Program Files\PCL 1.5.1\3rdParty\VTK\include\vtk-5.8;
C:\Program Files\OpenNI\Include;
C:\Program Files\PCL 1.5.1\include\pcl-1.5;
(對應自己機子上PCL的位置,如果為了CMAKE方便很多會放在根目錄下。即C:\PCL)
在庫目錄下添加:
C:\Program Files\PCL 1.5.1\3rdParty\Boost\lib;
C:\Program Files\PCL 1.5.1\3rdParty\Qhull\lib;
C:\Program Files\PCL 1.5.1\3rdParty\Flann\lib;
C:\Program Files\PCL 1.5.1\3rdParty\VTK\lib\vtk-5.8;
C:\Program Files\PCL 1.5.1\lib;
C:\Program Files\OpenNI\Lib;
在附加依賴項上添加:
opengl32.lib
pcl_kdtree_debug.lib
pcl_io_debug.lib
pcl_search_debug.lib
pcl_segmentation_debug.lib
pcl_apps_debug.lib
pcl_features_debug.lib
pcl_filters_debug.lib
pcl_visualization_debug.lib
pcl_common_debug.lib
flann_cpp_s-gd.lib
libboost_system-vc100-mt-gd-1_47.lib
libboost_filesystem-vc100-mt-gd-1_47.lib
libboost_thread-vc100-mt-gd-1_47.lib
libboost_date_time-vc100-mt-gd-1_47.lib
libboost_iostreams-vc100-mt-gd-1_47.lib
openNI.lib
vtkalglib-gd.lib
vtkCharts-gd.lib
vtkCommon-gd.lib
vtkDICOMParser-gd.lib
vtkexoIIc-gd.lib
vtkexpat-gd.lib
vtkFiltering-gd.lib
vtkfreetype-gd.lib
vtkftgl-gd.lib
vtkGenericFiltering-gd.lib
vtkGeovis-gd.lib
vtkGraphics-gd.lib
vtkhdf5-gd.lib
vtkHybrid-gd.lib
vtkImaging-gd.lib
vtkInfovis-gd.lib
vtkIO-gd.lib
vtkjpeg-gd.lib
vtklibxml2-gd.lib
vtkmetaio-gd.lib
vtkNetCDF-gd.lib
vtkNetCDF_cxx-gd.lib
vtkpng-gd.lib
vtkproj4-gd.lib
vtkRendering-gd.lib
vtksqlite-gd.lib
vtksys-gd.lib
vtktiff-gd.lib
vtkverdict-gd.lib
vtkViews-gd.lib
vtkVolumeRendering-gd.lib
vtkWidgets-gd.lib
vtkzlib-gd.lib
這里要注意PCL引用到的其他庫文件一定要加進去,VTK的庫很多,而且依賴關系我看得很亂,所以為了方便就全加進去了。
如果沒有加完整,很多信息提示錯誤的,之前忘了加一個什麼庫,導致很多error LNK2019,還讓我重裝了很多次……
注意庫要對應debug和release版,debug後面一般都有-gd或者_debug的,看看就能分出來了。對應錯了還會有error LNK:
error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in XXXX.......
這時應該可以看到成功生成的信息了:
B. 學習點雲庫,這句話不是很理解
pcl 是一個命名空間,跟std類似,PointCloud是類模板,<pcl::PointXYZ>是模板類實例化的類型,PointCloud<pcl::PointXYZ>就是一個實例化了的模板類,ptr是只能指針,相當於之前普通指針聲明的*,cloud是指針變數,就是一個指向PointCloud<pcl::PointXYZ>類對象的指針,new pcl::PointCloud<pcl::PointXYZ>就是給了一個地址初始化指針
C. WIN7 64位系統,VS2010 x64中PCL all-in-one配置,編譯時出現問題,具體如下列圖片所示,求大神解答。
1、出現錯誤:fatal error LNK1123: 轉換到 COFF 期間失敗: 文件無效或損壞
解決方案:項目\屬性\配置屬性\清單工具\輸入和輸出\嵌入清單:原來是「是」,改成「否」。
Q:該方法治標不治本,每次新建一個項目時都要重新配置。還有為什麼這么做就能解決該問題呢?
A:1)治本的方法:
<1>項目\屬性\配置屬性\清單工具\輸入和輸出\嵌入清單:原來是「是」,改成「否」。
<2>項目|項目屬性|配置屬性|連接器|清單文件|生成清單 「是」改為「否」。
<3>若以上兩步後仍沒解決問題,則按照以下方法解決:
查找是否有兩個cvtres.exe。一個是C:\Program Files(x86)\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe, 另一個是C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe。右鍵屬性|詳細信息 查看兩者版本號,刪除/重命名較舊的版本,或者重新設置Path變數。
刪除舊版本的cvtres.exe後,就不需要每次都設置配置了。
2)為什麼這么操作可以解決問題?筆者未查明原因,同仁們有清楚的可以給出評論。
2、1>lena.obj : error LNK2019: 無法解析的外部符號 _cvReleaseImage,該符號在函數 _main 中被引用
1>lena.obj : error LNK2019: 無法解析的外部符號 _cvDestroyWindow,該符號在函數 _main 中被引用
1>lena.obj : error LNK2019: 無法解析的外部符號 _cvWaitKey,該符號在函數 _main 中被引用
1>lena.obj : error LNK2019: 無法解析的外部符號 _cvShowImage,該符號在函數 _main 中被引用
1>lena.obj : error LNK2019: 無法解析的外部符號 _cvNamedWindow,該符號在函數 _main 中被引用
1>lena.obj : error LNK2019: 無法解析的外部符號 _cvLoadImage,該符號在函數 _main 中被引用
1>c:\users\yunyan\documents\visual studio 2010\Projects\lena\Debug\lena.exe : fatal error LNK1120: 6 個無法解析的外部命令
1>
1>生成失敗。
1>
1>已用時間 00:00:01.52
========== 生成: 成功 0 個,失敗 1 個,最新 0 個,跳過 0 個 ==========
解決方案:出現錯誤的原因可能有二,一種是系統配置不對(如x64位下仍使用Win32則錯),另一種是少添加了庫。筆者的是第一種原因,因為一直習慣了在x86下編寫Win32程序,所以編譯的時候仍使用了Win32,那麼必然運行失敗。該問題怎麼破呢?如下:
右擊項目名稱,選擇「屬性」,彈出頁面的最上方中間一項「平台」選擇x64,在該平台下按照OpenCV中文網的配置過程。
D. ubuntu下編譯pcl許可權不夠,但我已經是root許可權了
首先config.inc.php不是可執行文件,想打開請用vim或gedit
>sudo vim config.inc.php
其次,沒有許可權是因為文件許可權的問題,而非用戶許可權,想深入了解,請網路chmod命令。
E. pcl是什麼意思
PCL指列印機指令語言。
列印語言就是一個命令集,它告訴列印機如何組織被列印的文檔。這些命令不是被單獨地傳送,而是由列印機驅動程序把它們嵌在列印數據中傳給列印機,並由列印機的列印控制器再分開解釋。
列印機語言很多,但總的來說可以分成兩類,一類是頁描述語言,另一類是嵌入式語言。頁描述語言非常復雜,命令非常多,當然它的功能也很強大,可以用來輸出復雜的頁面和圖像,比較適合列印諸如演講的材料、技術手冊、廣告冊子等。

(5)pcl定製編譯擴展閱讀:
相對而言使用PCL語言的列印機在處理文本或一些常見辦公應用軟體下的文檔時具有非常明顯的速度優勢,PostScript語言的列印機在常見辦公應用下的列印速度要慢一些,但在處理PDF文件或在Photoshop等軟體下列印大的圖形圖像文件時具有一定的速度優勢。
同時其在圖形表現准確度、色彩表現准確度和一些字型檔表現准確度方面也比PCL語言有優勢,另外PostScript語言既可以在PC機平台使用,也可以在蘋果機平台下使用。因此PCL語言比較適合一些普通的商務辦公應用,而PostScript語言更加適合對圖形和色彩准確度要求比較高的專業應用。
不過PCL語言的開放性,降低了使用PCL語言的列印機產品的成本,PostScript語言是Adobe是要收費的,因此PCL在列印機產品中的普及程度遠遠高於PostScript語言。不過許多高端產品目前都同時提供PCL和PostScript兩個版本的驅動。
F. PCL1.6 編譯的時候,為什麼很多warning
報錯信息意思是thread.obj中引用了boost::chrono有關內容,然而boost::chrono卻並沒有實現,因此需要額外添加相關庫文件。
G. pcl啟動器怎麼加模組
確認了游戲本體有加裝模組API後(如Forge),打開游戲文件夾(.minecraft),進入mods文件夾就可以了。
PCL是在吸收了前人點雲相關研究基礎上建立起來的大型跨平台開源C++編程庫,它實現了大量點雲相關的通用演算法和高效數據結構,涉及到點雲獲取、濾波、分割、配准、檢索、特徵提取、識別、追蹤、曲面重建、可視化等。
支持多種操作系統平台,可在Windows、Linux、Android、Mac OS X、部分嵌入式實時系統上運行。如果說OpenCV是2D信息獲取與處理的結晶,那麼PCL就在3D信息獲取與處理上具有同等地位,PCL是BSD授權方式,可以免費進行商業和學術應用。

相關信息
PCL是指納入了多種操作點雲數據的三維處理演算法,其中包括過濾,特徵估計,表面重建,模型擬合和分割,定位搜索等。每一套演算法都是通過基類進行劃分的,試圖把貫穿整個流水線處理技術的所有常見功能整合在一起,從而保持了整個演算法實現過程中的緊湊和結構清晰,提高代碼的重用性、簡潔可讀。
為了進一步簡化和開發,PCL被分成一系列較小的代碼庫,使其模塊化,以便能夠單獨編譯使用提高可配置性,特別適用於嵌入式處理中,libpcl filters如采樣、去除離群點、特徵提取、擬合估計等數據實現過濾器。
libpcl features實現多種三維特徵,如曲面法線、曲率、邊界點估計、矩不變數、主曲率,PFH和FPFH特徵,旋轉圖像、積分圖像,NARF描述子,RIFT,相對標准偏差,數據強度的篩選等等。
H. 列印機驅動程序(PCL)能被破解或者反編譯
下載的驅動文件進行安裝
1.系統內沒有列印機驅動程序,又沒有驅動光碟,可到「驅動之家」下載,下載後解壓備用,要記下該文件存放的在方,如,D:\……\……。
2.「開始」—「列印機和傳真」,點擊左邊窗格中「添加列印機」, 打開「歡迎添加列印機向導」對話框,點擊「下一步」,打開「本地或網路列印機」選擇連接對話框;
3.選擇第一項「連接到此計算機的本地列印機」,勾選「自動檢測並安裝即插即用列印機」,點「下一步」,打開「新列印機檢測」對話框;
4.檢測後,打「下一步」,打開「選擇列印機埠」對話框; 5.點選「使用以下埠」,在右邊的下拉列表中選擇推薦的列印機埠「LPT1:」,點擊「下一步」,打開「安裝列印機軟體」對話框;
6.在「安裝列印機軟體」對話框中,選擇「從磁碟安裝」,打開「從磁碟安裝」對話框,在「廠商文件復制來源」下拉列表中指定文件路徑(如,A:\ ,D:\……\……)擊「確定」對話框,系統即自動搜索安裝。
I. vs2008 PCL C++編譯錯誤 無法定位程序輸入點......於動態鏈接庫msvcp90d.dll 這個問題您解決了嗎
我也遇到了這個問題,有三種方法可以解決這個令人困擾的問題:
(1)使用者的電腦,必須先安裝「Visual C++ 可轉發套件,即 Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)」(MSVC 2008 或 MSVC 2005 )。
(2)將所需的 DLL 檔案,例如 MSVCR90D.dll 與 MSVCP90D.dll,直接附在程式的下載包當中。
(3)以靜態連結方式建置程式執行檔。
詳細解釋參見鏈接,裡面解釋的非常好,
http://blog.monkeypotion.net/gameprog/beginner/love-and-hate-between-msvc-and-crt
J. patran PCL使用方法步驟
在ultraedit寫代碼 在command histroy輸入!!input filename.pcl進行編譯。或者可以參考patran customization pcl裡面的說明。