错误

在使用VS编译文件时出现了如下错误:

#错误:使用/ MD [d](CRT dll版本)构建MFC应用程序需要MFC共享dll版本。请#define _AFXDLL或不使用/ MD [d]

解决方案

1.先选择“属性管理器”,然后按如下路径:项目-》属性-》C/C++-》代码生成-》运行库,将“多线程调试DLL(/MDd)”改成“多线程(/MT)”或“多线程调试(/MTd)”

2.选择“解决方案管理器”,然后按如下路径:项目-》属性-》配置属性-》常规-》项目默认值-》MFC的使用,选择“在静态库中使用MFC”(有时并不需要修改)。

3.由错误提示中的:“Please #define _AFXDLL or do not use /MD[d]”,可知还可以定义“#define _AFXDLL”来解决问题。

注意:(/MD)和(/MT)是编译Release版本用的,(/MDd)和(/MTd)是编译Debug版本用的

          (/MD)和(/MDd)选择“在共享DLL中使用MFC”,(/MT)和(/MTd)选择“在静态库中使用MFC”,

参考链接:

解决#error 指令:  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]

http://www.manongjc.com/article/77624.html

解决#error 指令:  Please use the /MD switch for _AFXDLL builds

https://www.cnblogs.com/zwh0214/p/6048360.html

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐