來自微信公衆号的分享
我剛剛開始接觸PCL,懂的東西也很少,是以總是出現各種各樣的問題,每次遇見問題的時候要查找各種各樣的資料,很費時間。是以,今天我把我遇見的常見問題分享給大家,講解的步驟盡量詳細,讓和我一樣基礎差的小夥伴能盡快進入到PCL點雲庫的學習中,希望能和大家進步。
運作環境:PCL-1.8.0-AllInOne-msvc2013-win64,是64位的,VS2013英文版。
問題1:如何擷取PCD檔案。之前有小夥伴問我如何擷取pcd檔案,我知道這是很基礎的問題,但是新手常常會問這個問題,也包括我自己學習剛剛開始學習的時候。通常有兩種方法,
way1:一種是通過cloudcompare軟體進行轉換,該軟體可以到它的官網下載下傳,這對于新手比較直接。
Way2:寫代碼自己轉。
問題2:錯誤提示為1.IntelliSense: cannot open source file "pcl/io/pcd_io.h" c:\visual 等如下圖所示,要檢查一下自己的是不是把編譯平台已經更改為64位的。

解決方法:
步驟1:
步驟2:
問題3:報錯類似的問題如
Error 3 error C4996: 'std::_Uninitialized_copy0':Function call with parameters that may be unsafe - this call relies on thecaller to check that the passed values are correct. To disable this warning,use -D_SCL_SECURE_NO_WARNINGS.See documentation on how to use Visual C++ 'Checked Iterators' C:\Program Files (x86)\Microsoft VisualStudio 12.0\VC\include\xmemory 348
步驟1:打開屬性表;
步驟2:将_SCL_SECURE_NO_WARNINGS添加在預處理器定義裡如如所示
注意:若上述提示的錯誤資訊是C4996:’fopen’*******_CRT_SECURE_NO_WARNINGS********的問題,按照上述步驟将_CRT_SECURE_NO_WARNINGS添加到預處理器定義中即可。
問題4:編譯的時候遇到如下錯誤提示
error C4996: 'pcl::SAC_SAMPLE_SIZE': Thismap is deprecated and is kept only to prevent breaking existing user code. Startingfrom PCL 1.8.0 model sample size is a protected member of theSampleConsensusModel class.
這是程式生命周期檢查出現的問題。
打開項目屬性頁>C/C++>正常>SDL檢查(設定為否)。
問題5:編譯的時候遇到如下錯誤提示
error C1128: number of sections exceededobject file format limit : compile with /bigobj
右鍵項目,properties(屬性)-> Configuration Properties(配置屬性) -> C/C++-> Command Line(指令行) -> Additional options(其他選項),然後加上 /bigobj屬性,确定,然後重新編譯即可。
在這裡非常感謝這位同學,這樣分享總結,我十分感動啊,我的初衷就是希望大家可以這樣分享,給初學者提供一點建議。互相學習進步。
是以建議在學習一段時間之後,能寫一點總結分享大家
感興趣者掃描二維碼關注微信公衆号,背景可直接私信我