Window7下手動編譯最新版的PCL庫

來源:互聯網
上載者:User
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就 算編譯好了.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.