無法打開輸入文件“optimized.lib” 編譯osgEarth2.8+VS2013+CMake3.4.0在Release版本的問題


1>LINK : fatal error LNK1181: 無法打開輸入文件“optimized.lib”

可以到http://forum.osgearth.org搜索相關帖子,gwaldron說這很可能是CMake3.0以上版本的問題:

gwaldron gwaldron
Reply |  Threaded |  More    

Re: Build error

 

 
I solved this problem like this: 

CMake (3+) comes with a built-in FindZLIB.cmake library for locating the ZLib dependency. But it is introducing this problem. So I copied the old FindZLIB.cmake from the OSG distribution into osgEarth/CMakeModules, and the problem disappeared. 

 

從OpenSceneGraph-3.4.0\CMakeModules拷貝一份FindZLIB.cmake放到D:\APICenter\OSG\osgEarth2.8.0\CMakeModules

並修改,將紅框中的部分刪除,即不使用CMake自帶的FindZLIB.cmake。

 

對於OSG也可以這么操作,由於涉及到此問題的項目較少,所以可以手動刪除,找到編譯出問題的項目(osgdb_freetype,osgdb_png和osgdb_tiff)屬性,順便刪除debug.lib

 

 

出現這個問題的根源是:FREETYPE,PNG和TIFF插件在CMake配置的時候,他們_LIBRARY后面帶了_DEBUG

而OpenSceneGraph-3.4.0\CMakeModules\OsgMacroUtils.cmake的MACRO(LINK_WITH_VARIABLES TRGTNAME)對此加以判斷

通過打印輸出可以看到PNG_LIBRARY的內容有錯誤

 

 

 

 

 

 

 

 


免責聲明!

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



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