天天看點

PCL常見錯誤集錦

來自微信公衆号的分享

我剛剛開始接觸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位的。

PCL常見錯誤集錦

解決方法:

步驟1:

PCL常見錯誤集錦

步驟2:

PCL常見錯誤集錦

問題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

PCL常見錯誤集錦

步驟1:打開屬性表;

PCL常見錯誤集錦

步驟2:将_SCL_SECURE_NO_WARNINGS添加在預處理器定義裡如如所示

PCL常見錯誤集錦

注意:若上述提示的錯誤資訊是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屬性,确定,然後重新編譯即可。

在這裡非常感謝這位同學,這樣分享總結,我十分感動啊,我的初衷就是希望大家可以這樣分享,給初學者提供一點建議。互相學習進步。

是以建議在學習一段時間之後,能寫一點總結分享大家

感興趣者掃描二維碼關注微信公衆号,背景可直接私信我

PCL常見錯誤集錦

繼續閱讀