error LNK2038: 檢測到“RuntimeLibrary”的不匹配項: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug


屬性1. 在工程上右鍵->屬性->c/c++->代碼生成->運行庫

    四個選項及含義分別如下:

  1.1 /MDd:MD_DynamicDebug,我理解是 “共享DLL中使用MFC” 時的 Debug

  1.2 /MD:MD_DynamicRelease,我理解是 “共享DLL中使用MFC” 時的 Release

  1.3 /MT:MD_StaticRelease,我理解是 “在靜態庫中使用MFC” 時的 Debug
  1.4 /MTd:MD_StaticDebug,我理解是 “在靜態庫中使用MFC” 時的 Release

 

屬性2. 在工程上右鍵->屬性->配置屬性-->常規-->MFC的使用

  2.1 其中兩個選項如下:

  2.2 在共享DLL中使用MFC

  2.3 在靜態庫中使用MFC

屬性3. 我們有兩種編譯模式,一種是Release,一種是Debug。

 

問題來了:

 VisualStudio報錯:error LNK2038: 檢測到“RuntimeLibrary”的不匹配項:  值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug

翻譯:這句的意思是                         檢測到     “運行庫”        的不匹配項:值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug

人話:…………………………                              屬性1………………………        屬性1.4…………………………屬性1.1

解決:能夠看出來是Debug時的 屬性1 和 屬性2 不匹配,那要么將 屬性1設置為 /MDd,要么將 屬性2 設置為 在靜態庫中使用MFC。

   反正編譯模式(屬性3)、MFC的使用(屬性2)、運行庫(屬性3)要三位一體對應起來。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM