PCL庫配置出現的問題(WIN10+VS2013)


邊看電影邊配終於配好了,中間出現了一些問題,在網上很難搜到,可能每個人都碰到的不同。摸索了一會終於都解決了,記錄在這里,免得又碰到。

PCL是什么東西就不在此介紹了。

主要是參考這篇博客做得,不過我后來碰到了一些問題,這篇博客並沒有碰到,可能是版本原因吧

http://blog.csdn.net/aptx704610875/article/details/49947049

一直沒時間更新,大家如果遇到編譯問題,可以留言,看是否和我的一致

准備工作:

編譯PCL前首先要編譯幾個PCL依賴的第三方庫,主要是下面幾個:

1、Boost 1.59.0

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

2、Eigen 3.2.7

Eigen是一些模板,其實不需要編譯,我按照上面博客里的方式編譯有很多錯誤。

3、FLANN 1.8.4

使用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

4、Qhull 2012.1

使用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文件夾地址。

5、VTK 6.3.0

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生成工程

 編譯時會出現一些問題,后面再更,先寫到這

一直沒時間更新,大家如果遇到編譯問題,可以留言,看是否和我的一致


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM