我們有一個使用VS2008和boost 1_42的大型項目。我正在嘗試升級到VS2010並提升1_44。我安裝了VS2010並升級1_44並轉換了項目。現在我想建立,一切編譯,但無法連接時:VisualStudio爲什麼尋找這個lib文件? LNK1104錯誤
LINK : fatal error LNK1104: cannot open file 'libboost_thread-vc90-mt-1_42.lib'
我已經改變了包括和lib目錄指向新的動力1_44文件,我已改名爲舊升壓1_42目錄。
爲什麼當鏈接器只使用1_44頭文件時仍然在尋找vc90-1_42文件?有沒有一種方法可以確定鏈接器想要這個文件的原因?鏈接器顯然認爲它需要該文件,但爲什麼?
我已經清理了該項目,並且正在重新構建以確保任何舊構建文件都被刪除。
好的,我發現我的問題是什麼,但我仍然想回答「我怎麼知道鏈接器想要這個文件?」。我的項目依賴於我們的一個使用boost 1_42構建的lib文件。我用boost 1_44重新編譯了lib文件,並且主項目上的鏈接器錯誤消失了。有沒有我可以用來查看這種情況的日誌或實用程序? – JPhi1618 2010-11-08 17:05:29
我很確定沒有。這種信息(「需要鏈接到some_lib」)可能深藏在生成的obj和lib文件中。 – 2010-11-09 07:00:04