天天看點

vs2005 編譯遇到的問題收集場景問題一問題二

場景

平時經常遇到一些小問題,過段時間又重複遇到這個問題,但記不起來怎麼解決的,是以打算把我遇到的一些問題收集起來,供以後參考。

問題一

描述

這是我在編譯release版本時,出現了debug的運作庫,編譯時會報這警告:

MSVCRT.lib(cinitexe.obj) : warning LNK4098: 預設庫“msvcrtd.lib”與其他庫的使用沖突

如果用Dependency工具檢視生成的動态庫會發現,這個庫同時依賴release跟debug的運作庫,這最終會出運作錯誤的:

vs2005 編譯遇到的問題收集場景問題一問題二

解決

這是vc運作庫沖突導緻,這個警告要重視。一般是因為程式跟依賴庫的運作時庫不一緻導緻的。

  • 檢查工程屬性,點選C/C++ ->代碼生成->運作時庫,這裡是否設定成跟依賴庫一緻,如我這裡是要設定成release的運作庫,得設定為:多線程 DLL (/MD)
  • 打開工程屬性,進傳入連結接的正常,把顯示進度設為/VERBOSE:LIB,如圖:
vs2005 編譯遇到的問題收集場景問題一問題二
  • 再次編譯的時候,我們能看到vs搜尋的路徑以及順序,我們就能知道vs使用的庫是不是我們要的,是不是連結錯庫了,如圖:
vs2005 編譯遇到的問題收集場景問題一問題二

問題二

描述

vs2005在安裝到windows8後運作報存在相容性問題,解決打2個更新檔

解決

https://social.msdn.microsoft.com/Forums/ro-RO/f21eb013-03ab-446f-b7ac-53116bad6d8a/vs2005win7