2017-09-26 126 views
1

這是論壇上的一個常見問題,但解決方案無法解決。針對MSVS 2017的Windows 10 64位,CGAL 4.11,Cmake 3.9.2,Boost 1.65.1,Qt5,libQGLViewer 2.7.0,Visual Studio 2017,構建爲Debug和Release的CGAL,無數C++包含路徑和Windows用戶路徑變量。同樣的事情,它不能打開,不一定找不到,一個主要的CGAL庫文件。 .lib文件當然存在。當我嘗試運行一個簡單的CGAL測試程序時,我無法超越這個錯誤。CGAL錯誤:LNK1104:無法打開文件CGAL -... 4.11.lib

https://imgur.com/gallery/heEDb

+0

可能的答案在這裏,CGAL已經建立了一個錯誤的鏈接器標誌,但在配置任何指定/ MTd行後,我沒有在CMake中看到,而我發現/ MD和/ MDd有很多,所以這不是真的問題。 http://stackoverflow.com/a/28044353/4806365 – NikNYC

+0

爲項目的鏈接器屬性添加/ VERBOSE額外的條目沒有提供額外的信息,它只是列出了包含錯誤的所有內容。 – NikNYC

+0

如果不是將庫位置添加到C++頭文件中,而是右鍵單擊屬性,我將它添加到鏈接器附加庫目錄,它會編譯(調試模式)並最終出現一個輸出窗口,但不會運行,因爲它會顯示「 CGAL-vc140-mt-dg-4.11.dll缺失「,這確實存在,我的C++頭條目指向它的目錄。在最終錯誤發生之前,我得到了許多其他PDB文件錯誤,但是在打開工具>選項>調試>符號> Microsoft Symbol Servers後,它們消失了。 – NikNYC

回答

0

事實上,我必須激活Windows 10,內置的Bash shell,兩個易於谷歌的步驟,然後簡單地從CGAL scripts目錄複製cgal_create_CMakeLists到我的Visual Studio項目目錄,並進入Windows磁盤通過Bash「mnt」目錄。當我輸入「cgal_create_CMakeLists」時,它會吐出有關如何通過命令安裝腳本的信息,然後在激活之後,當我輸入「cgal_create_CMakeLists」時,它添加了一個CMakeLists文件,我只需將CMake-gui指向未完成的Boost_DIR安裝目錄讓Configure不列出紅色錯誤。然後Visual Studio可以打開由CMake-gui創建的.sln文件,然後編譯它。在解決方案資源管理器窗格中右鍵單擊我的程序列表,將其設置爲啓動項目讓我點擊綠色調試器箭頭,當一個空白控制檯窗口消失後,CGAL寫了一個很好的ASCII四面體out.Mesh文件。最初,我使用的示例文件是從CGEN參考網站複製並粘貼到一個新的Visual Studio中的Windows控制檯項目,一個球形邊界四面體網格的:

http://cgal-discuss.949826.n4.nabble.com/CGAL-demos-on-Windows-won-t-configure-td4656618.html

我不知道是什麼軟件將現可視化簡單格式化的.Mesh文件,因爲MeshLab不會。

如果您有QT5和libQGLViewer:多邊形,多面體和AABB_tree,那麼三種Demo軟件包據說可以創建自己的圖形。我至少有機會用Visual Studio來構建它們,現在CMake與CGEN的小shell腳本合作,Windows 10很高興能夠運行。

CGAL使用起來非常複雜,除非您閱讀有關從根本上依賴CMake準備腳本編寫即使是最簡單的示例的精美版本。

+0

事後看來,我認爲Qt5和libQGLViewer並不值得這麼麻煩,因爲它們只是一些圖形窗口輸出附件,適用於少量的演示。那裏有很多獨立的查看軟件。絕大多數演示和所有示例都不使用它們。由於CMake必須將Qt5_DIR手動設置到隱蔽的深層目錄C:\ Qt \ 5.9.1 \ msvc2017_64 \ lib \ cmake \ Qt5以阻止QMake在您嘗試清除Qt5_DIR時再次清除Qt5_DIR再次配置。它還需要在Visual Studio 2017中安裝Qt5菜單插件。 – NikNYC

+0

CGAL四面體網格處於默認的MEDIT查看器格式(http://ljll.math.upmc.fr/frey/software.html)。該頁面有一個二進制文件,並且還分別包含所需的DLL文件。你的命令行從它的控制檯打開你的文件,然後有一個用於交互式裁剪的右鍵菜單。結果:http://imgur.com/gallery/THvGy – NikNYC

相關問題