编译错误:#error: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version

背景介绍:

MFC 写dll文件,原来没有用stdafx.h,由于要新增txt写入功能,所以加了这个东西,调用了CStdioFile这个东西

stdafx.h和targetver.h都是从别的地方挪过来的

影响位置有三个

解决方案资源管理器找到解决方案项目->右键->配置属性->常规项目默认值->MFC的使用->修改成在共享DLL中使用MFC

解决方案资源管理器找到解决方案项目->右键->C/C+±>代码生成->运行库->多线程调试DLL(/MDd)

最后在主函数定义一下

#define _AFXDLL

当然,我的情况和你不一定适配 ,反正就这三个地方调

如果还编译不过的话,

C:\Users\Jade\AppData\Roaming\Typora\typora-user-images\image-20210109112933304.png)]

这个界面的配置(图中显示“活动(Debug)” 看一下你的配置是不是活动的,没准你正在配置和你正在调试生成的程序无关的东西)

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐