1. 程式人生 > >Pcl1.8.0原始碼編譯與安裝

Pcl1.8.0原始碼編譯與安裝

工具:第三方依賴庫原始碼下載;pcl1.8.0原始碼下載;cmake3.5.2(可以使用最新版)
一.第三方依賴庫的安裝與編譯:
1.boost編譯 原始碼放在C/boost
(1):下載微軟mpi,安裝,進入boost\boost_1_59_0\tools\build\src\tools找到mpi.jam開啟並更改
249 local cluster_pack_path_native = (mpi安裝路徑);
251 if [ GLOB (clusterpackif[GLOB(cluster_pack_path_native)\Inc : mpi.h ]
260 options = $(cluster_pack_path)/Inc
以管理員身份執行vs2013開發命令提示符進入到boost資料夾執行bootstrap.bat開啟
project-config.jam新增
4 using mpi ;
執行
32位系統 b2.exe toolset=msvc-12.0 address-model=32 –build-dir=build\x64 install –prefix=”X:\X\Boost” -j8
64位 系 統 b2.exe toolset=msvc-12.0 address-model=64 –build-dir=build\x64 install –prefix=”X:\X\Boost” -j8
完成後再建立BOOST_ROOT環境變數,值為boost安裝路徑
(2)eigen 編譯 原始碼放在c/eigen
Where is the source code: c/eigen
Where to build the binaries: c/eigen/build
configure後更改一下CMAKE_INSTALL_PREFIX(你打算安裝的最終位置)
Generate後以管理員身份執行vs2013開啟c/eigen/build資料夾下的eigen.sln
分別在debuge和release下對ALL_BUILD和INSTALL生成解決方案
(3)flann 編譯 原始碼放在c/flann
Where is the source code: c/flann
Where to build the binaries: c/flann/build
configure後更改一下CMAKE_INSTALL_PREFIX(你打算安裝的最終位置)
新增一個entry:
Name: CMAKE_DEBUG_POSTFIX
Type: STRING
Value: -gd
修改完後再次點Configure,然後Generate。在C:\flann\src\cpp\flann\util中找到serialization.h檔案 在92行BASIC_TYPE_SERIALIZER(bool);之後加入以下程式碼:

ifdef _MSC_VER

BASIC_TYPE_SERIALIZER( unsigned __int64 );

endif

修改完後在flann\build資料夾中開啟flann.sln工程檔案,待載入完檔案後,(debug和release)生成all_build,完成後生成install。完成後可以看到flann資料夾中出現include和lib資料夾。最後在環境變數中建立FLANN_ROOT變數,值為flann資料夾地址。

(4)qhull編譯,原始碼放在c/qhull
Where is the source code: c/qhull
Where to build the binaries: c/qhull/build
configure後更改一下CMAKE_INSTALL_PREFIX(你打算安裝的最終位置)configure
然後新增一個entry:
Name: CMAKE_DEBUG_POSTFIX
Type: STRING
Value: -d
修改完後再次點Configure,然後Generate。在qhull\build資料夾中開啟qhull.sln工程檔案,完成後生成all_build(debug和release)即可,然後生成install。最後在環境變數中建立QHULL_ROOT變數,值為qhull資料夾地址。
(5)vtk6.3.0原始碼放在c/vtk
Where is the source code: c/vtk
Where to build the binaries: c/vtk/build
configure後更改一下CMAKE_INSTALL_PREFIX(你打算安裝的最終位置)
然後新增一個entry:
Name: CMAKE_DEBUG_POSTFIX
Type: STRING
Value: -gd
修改完後再次點Configure,然後Generate。在VTK\build資料夾中開啟VTK.sln工程檔案,待載入完檔案後,(debug和release)生成all_build(時間有點久,耐心等待),完成後生成install。完成後可以看到VTK資料夾中出現include和lib資料夾。最後在環境變數中建立QHULL_ROOT變數,值為vtk資料夾地址。

二.PCL1.8.0原始碼編譯安裝
使用cmake:
Where is the source code: C:\PCL-master
Where is build the binaries: C:\PCL-master\build
點選Configure提示新建build資料夾,選擇vs12 2013編譯器,正常情況下不會出現什麼問題,修改CMAKE_INSTALL_PREFIX為C:\PCL-master,再次點選Configure,然後generate生成PCL.sln開啟PCL.sln並生成all_build(時間很久,耐心等待),然後生成install即可(debug和release)

安裝出現的問題:
1.如果出現找不到.dll檔案的話一般是環境變數沒有設定好;
2.一般都是以管理員身份執行vs2013和cmake;