編輯:解決與詹姆斯麥克奈利斯的建議,這導致我犯了圖書館。這是我沒有用dumpbin檢查過的。Visual Studio:哪個源文件包含特定的庫(使用「pragma comment」)?
我在構建一個Visual Studio 2013項目,它使用「#pragma comment」鏈接靜態庫,而不是在項目屬性中列出這些庫。在用新版本替換庫後,我收到一個鏈接錯誤,因爲它仍在嘗試查找一些舊庫,例如它應該在鏈接「library_v12.lib」時找不到「library_v9.lib」。我怎樣才能找到舊圖書館被請求的地方?以下是我試過的:
刪除所有對象等,並從頭開始重建。
搜索「#pragma comment」不起作用,因爲它構建在多個宏層中,版本號從_MSC_VER獲得,因此「9」和「12」實際上從不會真正出現在源中的任何位置。
在所有鏈接到可執行文件的庫上運行dumpbin/DIRECTIVES。他們都參考了正確的「12」庫版本。
使用'/ verbose'鏈接並搜索「library_v9.lib」的輸出。 –
這個伎倆! –
@TScherer你可能應該爲這個問題添加一個答案,而不是編輯解決。 – drescherjm