c++笔记_MFC MT静态编译失败(前提已选择静态库以及MT编译)

第一行报错:

error LNK2005: "void __stdcall DDX_Control(class CDataExchange *,int,class CWnd &)" (?DDX_Control@@YGXPAVCDataExchange@@HAAVCWnd@@@Z) 已经在 nafxcw.lib(wincore2.obj) 中定义
 

 

这个问题困扰了我好几个小时了, 搜了很多帖子要么就是在release状态下只选择静态库以及MT编译要么就是还有第三步把两个静态库包含进进去, 但问题依旧, 至于是哪两个静态库这里就不多说了, 测试了完全没效果, 最后到处搜, 终于.....在别人的一个帖子上看到了想要的答案, 可能是大家搜索输入的内容和他的帖子标题相差甚远所以搜不到, 我这里链接一下:

https://blog.csdn.net/mimica247706624/article/details/53379214

 

解决方法:

搞了半天是stdafx.h这个预编译头的问题, 把所有WIN32静态库的stdafx.h文件中的一句代码#define _AFX_NO_MFC_CONTROLS_IN_DIALOGS删除。(VS默认建立静态库工程支持选项)

 

 

注释掉之后再编译, 如下图:

 

到此OK, 完美解决.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值