VS編譯錯誤:#error: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version
錯誤
在使用VS編譯文件時出現了如下錯誤:
#error: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
在網上查了查,解決方案大都忽略了一些細節,所以很可能并不能解決問題,這里補全了一些細節。
解決方案
1.先選擇“解決方案管理器”,然后按如下路徑:項目-》屬性-》C/C++-》代碼生成-》運行庫,將“多線程調試DLL(/MDd)”改成“多線程(/MT)”或“多線程調試(/MTd)”


2.選擇“解決方案管理器”,然后按如下路徑:項目-》屬性-》配置屬性-》常規-》項目默認值-》MFC的使用,選擇“在共享DLL中使用MFC”(有時并不需要修改)。


3.由錯誤提示中的:“Please #define _AFXDLL or do not use /MD[d]”,可知還可以定義“#define _AFXDLL”來解決問題。
注意事項
1.注意選擇“屬性管理器”與選擇“解決方案資源管理器”選項卡會得到不同的屬性頁,前者是修改整個VS系統的屬性,后者只影響當前項目。
2.這里提供的只是解決這個錯誤應該修改的3個地方,完全按照上述解決方案,有時候也并不能解決問題。正確的思路是,對前2個方法中提到的選項進行隨機組合,并重新編譯,嘗試是否有錯。這是最簡單的方法,畢竟每個人配置的環境都不一樣。

浙公網安備 33010602011771號