背景:為什么要編譯PCL源碼,一方面對於PCL類里面一些不對外開發的成員變量,有時又急需使用到,如果可以編譯源碼,不妨將其改成public,當然也可以進行其它方面的更改,但這也取決於個人的編碼能力。另一方面我們有時對某一類算法感興趣,尤其是實現該算法過程中可能涉及到很多我們認為有用的工具,那么源碼就提供了閱讀並理解的機會。如果我們一直只是簡單的調用PCL的相關接口,那么可不可以這么理解呢,我們就好比是一個搬運工,創造力幾乎為零。但是這種能力先別說是核心競爭力,競爭力也不夠強吧(估計面試官也不大會感興趣)!當然博主目前的能力與水平也僅限搬運工級別的,所以才感覺到創造力的難能可貴,同時也是我要寫這篇博客的重要原因了。
准備工具:
1.pcl1.8的安裝包: https://pan.baidu.com/s/1c1sqoQO#list/path=%2F (由於沒有上傳到百度雲,這里借用一下他人的下載鏈接)
2.pcl1.8.1的源碼: https://github.com/PointCloudLibrary/pcl/tree/pcl-1.8.1
數據1的作用,主要是為了提供pcl編譯所需的三方庫。正常安裝即可
安裝后的文件夾是這樣的。
然后打開cmake工具,把源碼里的cmake文件拖拽到制定位置:如圖
然后重要的一步就要到了:勾選上Group 、advanced選項。然后點擊Add Entry
其中value的值就是,PCL的安裝路徑,可以參照我的路徑
F:\PCL 1.8.0\3rdParty\VTK\bin;
F:\PCL 1.8.0\3rdParty\Boost;
F:\PCL 1.8.0\3rdParty\Qhull\bin;
F:\PCL 1.8.0\3rdParty\FLANN\bin;
F:\PCL 1.8.0\3rdParty\Eigen\eigen3;
G:\Qt5.6_64_real\5.6\msvc2013_64;
然后就可以點擊configure ->generate。等待一會,就可以打開工程了。至此基本上編譯成功。
建議:由於pcl安裝包可能是vs13 64位。這個版本的可能多一點。但是不管哪個版本,我們在cmake過程中盡量要保持版本一致,不然無法編譯成功。
編譯成功