使用pcl工具mesh_sampling,出現的一些編譯錯誤

     最近正在用點雲做三維物體的6自由度位姿估計問題,需要將CAD文件轉化爲pcd格式點雲圖,看到pcl庫裏有一個相關的寫好的例程https://github.com/PointCloudLibrary/pcl/blob/master/tools/mesh_sampling.cpp     拷貝之後,直接貼在了空的一個工程中,直接用了之前弄好的配置文件,果然還是出了些問題,問題前後分爲兩段,搞好一個又出來一個,不管是當時弄ros還是vs都有這種情況,哎,這種東西最煩了,時間都耽誤在這上面了!好多人的解決方法和我的還不大一樣,有點小區別,我有預感我之後可能還會有類似的問題,這裏貼出來一下也記錄一下  共享一下。

 

 

1.直接複製代碼編譯之後,出現上面兩張圖的提示, 查着看大家的說法,大體上是因爲vs沒有像cmake那樣默認設定好一些關於vtk的配置,導致需要手動配置一下,參看 https://stackoverflow.com/questions/18642155/no-override-found-for-vtkpolydatamapper/41969027  這裏的說法是在源文件前面先於任何關於vtk的頭文件之前,貼上

#include "vtkAutoInit.h" 
VTK_MODULE_INIT(vtkRenderingOpenGL2); // VTK was built with vtkRenderingOpenGL2
VTK_MODULE_INIT(vtkInteractionStyle);

然後再編譯,於是就有了問題2.

2.編譯之後,出現下面的問題,查了看大家的說法,反正很複雜,說是什麼初始化的vtk配置和之前設定的配置不同,需要改cmake文件 

 

期間我一直很奇怪,我看到我vtk目錄下的lib文件中只有 vtkRenderingOpenGL之類的lib文件,沒有vtkRenderingOpenGL2系列的lib,我想是不是第一步應該改成

#include "vtkAutoInit.h" 
VTK_MODULE_INIT(vtkRenderingOpenGL); // 把2去掉
VTK_MODULE_INIT(vtkInteractionStyle);

但是編譯之後100+個錯誤,之前看到  https://stackoverflow.com/questions/40086584/errorno-override-found-for-vtkpolydatamapper/43222907 

 試了之後,果然搞定!

總結:其實第一步參考的網站中,也有提到讓你去看你安裝的到底是vtkRenderingOpenGL2還是vtkRenderingOpenGL,但是卻卻沒提到vtkRenderingOpenGL的情況具體咋辦,有人再遇到這種情況,先看看自己裝的哪個。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章