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位的。

解決方法:

步驟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屬性,確定,然后重新編譯即可。

 

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

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

 

感興趣者掃描二維碼關注微信公眾號,后台可直接私信我

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM