2015-12-08 27 views
1

我正在一個項目(遊戲引擎),其中有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」

+0

1.選中'項目依賴關係'該項目未能鏈接。 2.你可以在'.vcxproj'裏面發佈所有'標籤嗎? 3.檢查生成庫的項目的「目標名稱」和「輸出文件」屬性。 – Angew

+0

這個項目(失敗的項目)取決於所有其他項目,但它是唯一實際連接的項目。文件(corelib_vc14 _ ***。lib)已正確導出,但鏈接程序查找舊文件(corelib.lib)。 –

+1

我假設你在任何地方都沒有'#pragma comment',對吧? – Angew

回答

0

我解決了我的問題。這是我從未想到的那個地方 - 當我從VS2013移到VS2015時,一些對舊項目的引用被遺漏並引發了這個奇怪的問題。幸運的是我保持我的項目文件夾有組織,所以我查看了「vs2013」​​的所有內容,並發現了一堆發生,用「vs2015」手動替換了它們,一切正常:)