邊看電影邊配終於配好了,中間出現了一些問題,在網上很難搜到,可能每個人都碰到的不同。摸索了一會終於都解決了,記錄在這里,免得又碰到。
PCL是什么東西就不在此介紹了。
主要是參考這篇博客做得,不過我后來碰到了一些問題,這篇博客並沒有碰到,可能是版本原因吧
http://blog.csdn.net/aptx704610875/article/details/49947049
一直沒時間更新,大家如果遇到編譯問題,可以留言,看是否和我的一致
准備工作:
編譯PCL前首先要編譯幾個PCL依賴的第三方庫,主要是下面幾個:
Boost有兩種編譯方式,一種是用Cmake生成工程用VS編譯,另一種就是用自己帶的腳本,我是用的第二種方式。
首先下載微軟的mpi,然后在boost\tools\build\src\tools中找到mpi.jam,修改其中的這三行:
249 line local cluster_pack_path_native = "C:\\Program Files\\Microsoft MPI" ;
251 line if [ GLOB $(cluster_pack_path_native)\\Inc : mpi.h ]
260 line options = <include>$(cluster_pack_path)/Inc
然后打開cmd,進入boost文件夾,運行: bootstrap.bat 運行結束后會生成project-config.jam,打開並在第四行加上:using mpi ;
接下來還是用cmd進入boost文件夾,運行:b2.exe toolset=msvc-12.0 address-model=32 --build-dir=build\x86 install --prefix="X:\X\Boost" -j8
注意如果要開發x64的程序而不是64位系統,請運行:b2.exe toolset=msvc-12.0 address-model=64 --build-dir=build\x64 install --prefix="X:\X\Boost" -j8
(其中沒事msvc-12.0代表vs2013,如果是11.0是vs2012,14.0是vs2015 后面的X:\X\Boost是boost的文件夾,b2.exe就在里面)
完成后在環境變量中建立BOOST_ROOT變量,值為boost文件夾地址X:\X\Boost
Eigen是一些模板,其實不需要編譯,我按照上面博客里的方式編譯有很多錯誤。
使用cmake,sourse選flann文件夾(如C:\flann),build目錄選flann下的build(如C:\eigen\flann)。點擊Configure會提示新建build文件夾,選擇vs12 2013編譯器,然后注意找到CMAKE_INSTALL_PREFIX這個選項,很重要,默認為C:\Program Files (x86)\flann,請修改為你的flann所在文件夾,如上面的C:\flann,不然在之后的install會出錯。然后添加一個entry:
Name: CMAKE_DEBUG_POSTFIX
Type: STRING
Value: -gd
修改完后再次點Configure,然后Generate。
然后打開生成的工程用VS2013編譯,完成后添加環境變量FLANN_ROOT
使用cmake,sourse選qhull文件夾(如C:\qhull),build目錄選qhull下的build(如C:\qhull\build)。點擊Configure(不會提示創建build文件夾因為build已經存在),選擇vs12 2013編譯器,然后注意找到CMAKE_INSTALL_PREFIX這個選項,很重要,默認為C:\Program Files (x86)\qhull,請修改為你的qhull所在文件夾,如上面的C:\qhull,不然在之后的install會出錯。然后添加一個entry:
Name: CMAKE_DEBUG_POSTFIX
Type: STRING
Value: -d
修改完后再次點Configure,然后Generate。在qhull\build文件夾中打開qhull.sln工程文件,待加載完文件后,修改libqhull和user_eg2的項目屬性,C/C++ -> 高級 -> 編譯為 C++ 代碼 (/TP),完成后生成all_build(debug和release)即可,然后生成install。完成后可以看到qhull文件夾中出現include和lib文件夾。最后在環境變量中建立QHULL_ROOT變量,值為qhull文件夾地址。
VTK 6.3.0
使用cmake,sourse選VTK文件夾(如C:\VTK),build目錄選VTK下的build(如C:\VTK\build)。點擊Configure會提示新建build文件夾,選擇vs12 2013編譯器,然后注意找到CMAKE_INSTALL_PREFIX這個選項,很重要,默認為C:\Program Files (x86)\VTK,請修改為你的VTK所在文件夾,如上面的C:\VTK,不然在之后的install會出錯。然后添加一個entry:
Name: CMAKE_DEBUG_POSTFIX
Type: STRING
Value: -gd
修改完后再次點Configure,然后Generate。在VTK\build文件夾中打開VTK.sln工程文件,待加載完文件后,(debug和release)生成all_build(時間有點久,耐心等待),完成后生成install。完成后可以看到VTK文件夾中出現include和lib文件夾。
6、QT(可選)
如果要開發可視化界面的話,建議裝個QT,按默認設置來就可以了。
7、GTest
理論上這個應該是可選的,不過在我編譯的時候如果選擇了build_visualization,就會報錯,顯示找不到GTest,所以建議也把這個編譯了,步驟和上面用CMAKE的一致。
編譯PCL:
用CMAKE,選擇好源代碼路徑和目標路徑后,點擊Configure,選擇編譯器,會出現如下錯誤:

顯示找不到eigen的include目錄,點擊Grouped,

修改EIGEN_INCLUDE_DIR到EIGEN的include目錄中,如我的是D:\PCL\eigen-327\eigen327\include\eigen3,修改
CMAKE_INSTALL_PREFIX為PCL目錄,再次點擊Configure,
然后會發現VTK目錄沒有找到,手動更改VTK_DIR為自己的VTK目錄,D:\PCL\VTK630\VTK-6.3.0\lib\cmake\vtk-6.3,
勾選BUILD_visualization,再次Configure,這次就能成功配置了,然后點擊Generate生成工程
編譯時會出現一些問題,后面再更,先寫到這
一直沒時間更新,大家如果遇到編譯問題,可以留言,看是否和我的一致
