Error C1189: #error: Please use the /MD switch for _AFXDLL builds
在VS 2013中编译程序时出现错误: 错误提示1: error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d] 原因 : 常规里面是:在静态库中使用MFC,或使用标准Windows库,此时该处可能无论是什么都会报错 运行库中多线程调试是:MDd(多线程调试DLL) 解决方法 : 将MDd改成MTd,如果改正后报错误2,按下面方法更改。 错误提示2: error C1189: #error: Please use the /MD switch for _AFXDLL builds 原因 : 常规里面是:在共享DLL中使用MFC, 运行库中多线程调试是:MTd(多线程调试) 解决方法 : 将常规改成:在静态库中使用MFC,或使用标准Windows库 常规和运行库 如下图: 常规: 右击项目->属性->配置属性->常规,然后在右边的“项目默认值”中的“MFC的使用”选项中选择“在静态库中使用MFC”, 多线程调试: 右击项目-->属性->配置属性->c/c++->代码生成->运行时库->多线程调试(/MTd) 相关注释: MFC的使用