VS2012编译PCL1.70的过程
以防博主刪除文檔,重新copy一遍...
關于個人的幾個注意事項:
?????? 對于boost,可以使用vc100的庫,來編譯VC110的代碼;
???? ? 對于確實的包含,一個一個添加,要耐心等待!!!原文鏈接:http://blog.csdn.net/silangquan/article/details/953308
PCL簡介
PCL是Point Cloud Library的縮寫,是一個用于處理二維圖像,三維深度圖像和三維點云的C++庫。該庫是完全開源的,可免費用于商業和學術研究。
官方網站:http://pointclouds.org/
PCL的用途:
下面對最新版的PCL庫進行 編譯。
環境:windows7 32bit
VS2010
cmake2.8
TortoiseSVN 1.8
1.安裝第三方依賴庫
官網上已經給出了一些安裝包。下載地址:http://pointclouds.org/downloads/windows.html
記住下好對應系統的安裝包。
Eigen無法正常下載,需要去官網下載:http://eigen.tuxfamily.org/index.php?title=Main_Page
我下載的實3.1.3的版本,下載zip包,直接解壓到C:\Program Files\,把文件夾名字改成eigen。
其他的三方庫直接雙擊安裝就可以了。
2.用cmake構建項目
創建
C:\Program Files\PCL
C:\Program Files\PCL\trunk
然后用TortoiseSVN把pcl的源碼down下來,svn地址是:?http://svn.pointclouds.org/pcl/trunk?
打開cmake,開始構建。
將trunk文件夾下的CMakeLists.txt托到cmake里,先Configure,選擇Visual Studio 10,然后Generate。
正常的話應該是這樣:
有問題的話根據報錯信息進行修改,大部分是第三方依賴庫沒有裝好。
?雙擊PCL.sln導入工程到VS2010,編譯,發現全是error - -
boost庫很多東西都沒找到.
在網上搜了很久,發現問題是CMakeLists沒寫好.1.50版本的Boost庫沒辦法識別.
最快的解決方法:卸載BOOST1.50,去http://ftp.jaist.ac.jp/pub//sourceforge/p/po/pointclouds/dependencies/?下載Boost-1.49.0-vs2010-x86.exe安裝后重復上面的步驟,生成的項目就正確了。
Build一下ALL_BUILD, 然后去打個盹,回來發現報錯:
Error 18326 error C2664: 'std::_Tree_const_iterator<_Mytree>::_Tree_const_iterator(const std::_Tree_const_iterator<_Mytree> &)' : cannot convert parameter 1 from 'std::_Tree_const_iterator<_Mytree>' to 'const std::_Tree_const_iterator<_Mytree> &' D:\VS2010\VC\include\utility 163
坑爹 的~
繼續搜索解決方法....
修改一個位置:?trunk/recognition/src/ransac_based/obj_rec_ransac.cpp
540: pair<set<ordered_int_pair>::iterator, bool> res = ordered_hypotheses_ids.insert (id_pair);
->540:?pair<set<ordered_int_pair, bool(*)(const ordered_int_pair&, const ordered_int_pair&)>::iterator, bool> res = ordered_hypotheses_ids.insert (id_pair);
再次重新cmake->導入工程->build ALL_Build
?注意debug和realse版本都要編譯一遍,而且要全部編譯通過.
然后再把INSALL編譯一下,debug和realse版本都要編譯一遍.
完全編譯完成之后,C:\Program Files\PCL\lib中就有生成了編譯好的lib庫了 .
當然還可以自己去編譯 一下它給的一些test,不過需要自己編譯GTest庫.
這樣,PCL就 算編譯好了.
如何在Windows環境中搭建PCL—Point Cloud Library開發環境
原文鏈接:http://shitou7630.blog.163.com/blog/static/3269953620126176843621/
如何快速構建PCL應用程序
使用CMake
直接使用Configure與Generate工具,你可以在界面上找到相應的按鈕。
在使用CMake編譯完成之后就生成了一個 Visual Studio 2010解決方案當中有三個項目,其中兩個是輔助工程。
使用Visual Studio
庫文件與動態庫的配置
代碼剖析
PCL_Write
頭文件包含:iostream,pcd_io.h,point_type.h
數據類型: pcl父類,PointCloud模板類,PointXYZRGB點數據類。。。。細節處理:
pcl::PointCloud cloud;
按照對應的數據要求填充cloud數據,像width,height,is_dense(是否稠密),通過resize函數應用相應的參數對數據進行更新。
cloud是一個PointCloud數據模板,可以通過更新其x,y,z,rgb屬性來更新殿云數據
最后用戶通過pcl的io接口中的savePCDFileASCII將數據以ASCII碼的形式存儲在pcd文件中
cloud_Viewer
這是一個查看有PCL_writer保存的pcd數據的Console程序從頭文件中我們就可以看到許多都包含了可視化的元素,如visualization/cloud_viwer.h,pcl/io/io.h,pcl/io/pcd_io.h
pcl::visualization::PCLVisualizer pcl::PointCloud::Ptr pcl::io::loadPCDFile(string name, PointXYZRGB *cloud) pcl::visualization::CloudViewer showCloud(PointXYZRGB *cloud)方法 runOnVisualizationThread( void function() )總結
以上是生活随笔為你收集整理的VS2012编译PCL1.70的过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3D集合图元:最小边界框/包围盒(bou
- 下一篇: 科学存储数据格式-HDF5