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個方法中提到的選項進行隨機組合,並重新編譯,嘗試是否有錯。這是最簡單的方法,畢竟每個人配置的環境都不一樣。

 


免責聲明!

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



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