點雲之OpenMesh:error C1083:無法打開包括文件:“OpenMesh/Core/IO/MeshIO.hh”:No such file or directory


 

1、這是一個錯誤引發的慘案:錯誤提示如下:

 

    • 在進行點雲程序調試時,出現錯誤:[error C1083:無法打開包括文件:“OpenMesh/Core/IO/MeshIO.hh”:No such file or directory],如下圖所示:

  下圖為報錯代碼:

 

 

 

2、原因分析及解決方案:

 

    • 幾經搜索,發現是沒有安裝OpenMesh,打開OpenMesh官網 http://www.openmesh.org/,然后點擊左側的 " Download" ,查找自己需要的版本下載。

 

因為本人程序運行環境為:WIN7系統、VS2012、PCL-1.7.2-AllInOne-msvc2012-win32、源程序為32位平台編譯。所以我選擇如下圖所示版本:

上圖中 6.3DLL 6.3(static)多出四個dll文件,其他無區別,具體如下圖所示(本人選擇的下載的是6.3DLL):

 

  2.1、下載並安裝完成后,進行相應的配置。

 

    • 在【解決方案資源管理器】中右擊項目,然后依次選擇【屬性】--> 【C/C++】 -->【常規】-->【附加包含目錄】:在【附加包含目錄】中添加路徑:E:\PCL-VS2012\OpenMesh6.3\OpenMesh 6.3\include(此處僅為示例,要以自己的路徑為准):

    • 預處理器定義。依然在上一步的頁面中操作,選擇【預處理器】-->【預處理器定義】,如果窗口中沒有 “_USE_MATH_DEFINES”,則將其輸入到【預處理器定義】窗口中(直接將雙引號中的內容添加進去就行,下圖窗口中的"_USE_MATH_DEFINES=0"為項目自帶的)。
    • 然后選擇【鏈接器】-->【常規】-->【附加庫目錄】,在窗口中輸入:E:\PCL-VS2012\OpenMesh6.3\OpenMesh 6.3\lib(此處僅為示例,要以自己的路徑為准):

    • 之后選擇【鏈接器】-->【輸入】-->【附加依賴項】,在其中輸入“OpenMeshCored.lib" 和 "OpenMeshToolsd.lib”:

2.2、配置完成后,應用並確定配置,接下來運行程序。

    • 又出現錯誤[error C2248:"OpenMesh::ArrayKernel::vertices_"無法訪問private成員(在“OpenMesh::ArrayKernel”類中聲明)”]
    • 解決方案:在錯誤列表中雙擊錯誤,定位到報錯代碼的位置。然后將“private”更改為“public”:  

    • 繼續運行程序,然后又報錯:[無法啟動此程序,因為計算機中丟失OpenMeshCored.dll。嘗試重新安裝該程序以解決此問題。]

    • 解決方案:在OpenMesh 6.3的安裝文件夾下找到 “OpenMeshCored.dll”,然后將其復制到 C:\Windows\System32 和 C:\Windows\SysWOW64文件夾下(兩個文件夾都要復制進去)。
    • 繼續運行程序,然后出現錯誤,如下圖所示(是不是有種 我們好像在哪兒見過 的感覺),怎么辦?參照上面的方案

3、來都來了,不讓你們看看結果怎么能行。

 

感謝博客(https://blog.csdn.net/My__long/article/details/80030824)

結案。

 

 


免責聲明!

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



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