1. 程式人生 > 其它 >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

VS編譯錯誤:#error: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version - cvlearner - 部落格園 (cnblogs.com)

錯誤

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