Win10 PCL1.9.1 VS2017x64源碼編譯

本着想看PCL源碼,更加深入地理解PCL處理算法,所以想自己編譯一下PCL庫,真是費時費力,用了1周多時間,終於編譯成功。

編譯PCL庫,需要第三方庫文件:

第三方庫名 說明
VTK visualization toolkit,基於OPENGL封裝,主要用於三維計算機圖形學、圖像處理和可視化
boost 是C++標準化進程的開發引擎之一,是爲C++語言標準庫提供擴展的一些C++程序庫的總稱(Regex正則表達式庫,Spirit,LL parser framework,Graph,Lambda,concept check,Mpl,Thread,Python,Pool,smart_ptr)
FLANN Fast Library for Approximate Nearest Neighbors,它是目前最完整的(近似)最近鄰開源庫。
OpenI 是一個基於網絡的商務智能應用程序。輕鬆可視化OLAP數據,關係型數據庫管理系統,數據挖掘工具和直觀的建立和發佈交互式的報告,分析
EIGEN 是一個高層次的C ++庫,有效支持線性代數,矩陣和矢量運算,數值分析及其相關的算法
Qhull 用於計算三維點的凸包

資料準備:

準備說明:

  1. 編譯PCL庫,需要第三方庫,當然需要下載每一個第三方庫源碼,然後使用Cmake編譯。也可以先安裝PCL-1.9.1-AllInOne-msvc2017-win64.exe,安裝過程中會有PCL-1.9.1配套的已編譯成功的第三方庫的頭文件及庫文件,我們只需要引用別人編譯成功的庫文件即可,而且PCL版本與第三方庫文件的版本也是配套的,比如boost版本是1.68的,VTK是8.1的,一開始第三方庫版本我也沒注意,躺了很多坑。

安裝PCL-1.9.1-AllInOne的時候,一定要安裝一個沒有空格的路徑,默認安裝的文件夾“Program Files” 和 “PCL 1.9.1”都會有空格,導致後期QT想引用庫的時候,無法識別!
安裝第三方庫文件

  1. 需要修改PCL1.9.1源碼文件裏面pcl_find_boost.cmake文件,
    “…/pcl-pcl-1.9.1/cmake/pcl_find_boost.cmake”文件,使用Notepad++打開,在“set(Boost_ADDITIONAL_VERSIONS”,下一行添加boost版本,如下圖所示
    在這裏插入圖片描述

Cmake編譯

  1. 打開cmake3.13.5,設置源碼路徑和編譯路徑,注意一定要勾選Grouped和Advanced,否則後面無法找到Boost路徑配置,但是又報Boost_Root路徑找不到的問題。
    在這裏插入圖片描述
  2. 點擊Configure,選擇VS2017 win64
    在這裏插入圖片描述
  3. 點擊Generate
    如果有些路徑沒有找到,需要根據實際庫文件路徑設置一下

boost
在這裏插入圖片描述
FLANN
在這裏插入圖片描述
OPENNI2
在這裏插入圖片描述
QHULL
在這裏插入圖片描述
Ungrouped Entries:
在這裏插入圖片描述

如果顯示“Generating done”,表示生成成功,就可以去設置的binaries文件下找到VS的solution文件了。
在這裏插入圖片描述

  1. 打開sln文件,【生成】→【批生成】→【項目】中選定ALL_BUILD的Debug和Release版本,【生成】中打勾→點擊【生成】按鈕。
    在這裏插入圖片描述

接下來VS就開始漫長的編譯過程了…
在這裏插入圖片描述

足足等待了2小時,終於編譯成功,230個成功,沒有報錯。
在這裏插入圖片描述
還沒結束,同樣的方法,再生成一下INSTALL,這個過程1~2分鐘就能完成。
在這裏插入圖片描述

接下來,就享受源碼的快了吧!

2020.6.11

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章