我正在一個項目(遊戲引擎),其中有11個項目(VS項目)的解決方案,其中10個是靜態庫(.lib)和一個是一個可執行文件(.exe)。我只用2臺電腦開展工作 - 家中的電腦和工作的電腦都使用Visual Studio 2015社區。在家中的工作非常好,但工作中的問題有一個問題 - 當我構建解決方案時,鏈接器一直在尋找「corelib.lib」文件。該文件存在一段時間之前,但在某些時候,我開始在發佈和調試之間切換太頻繁,我做了一個新的約定來緩解編譯時間的痛苦 - 現在我的文件被調用:corelib_vc14_dbg.lib和corelib_vc14_rls.lib(用於調試並分別發佈)。無論我做什麼,鏈接器都會查找該文件。我試圖清理解決方案,我試圖完全清理svn副本,我嘗試了一個新的結帳,我嘗試將svn副本移動到另一個位置。我試圖在目錄中找到「corelib.lib」(多次使用Sublime和Notepad ++),並且我沒有點擊。諸如「.sdf」,「.suo」,「.user」之類的文件沒有版本。對象文件,庫,可執行文件等也被排除在svn之外,所以不能有任何緩存的值(如果應該有的話)。什麼可能導致這個問題? Visual Studio是否緩存了這樣的地方?如果是這樣 - 爲什麼我無法在任何地方找到它?VS2015鏈接器尋找舊的,無處提到的文件
這裏有失敗的項目的依賴:
Debug:
AdditionalDependencies>openal.lib;opengl32.lib;engine_vc14_dbg.lib;corelib_vc14_dbg.lib;glfw_vc14_dbg.lib;glew_vc14_dbg.lib;gorilla_vc14_dbg.lib;jsoncpp_vc14_dbg.lib;%(AdditionalDependencies)</AdditionalDependencies>
Release
<AdditionalDependencies>openal.lib;opengl32.lib;engine_vc14_rls.lib;corelib_vc14_rls.lib;glfw_vc14_rls.lib;glew_vc14_rls.lib;gorilla_vc14_rls.lib;jsoncpp_vc14_rls.lib;%(AdditionalDependencies)</AdditionalDependencies>
所有.lib文件與新名稱(例如:「corelib_vc14_dbg.lib」)正確導出,但鏈接看起來還是舊圖書館文件「corelib.lib」
1.選中'項目依賴關係'該項目未能鏈接。 2.你可以在'.vcxproj'裏面發佈所有'標籤嗎? 3.檢查生成庫的項目的「目標名稱」和「輸出文件」屬性。 –
Angew
這個項目(失敗的項目)取決於所有其他項目,但它是唯一實際連接的項目。文件(corelib_vc14 _ ***。lib)已正確導出,但鏈接程序查找舊文件(corelib.lib)。 –
我假設你在任何地方都沒有'#pragma comment',對吧? – Angew