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, 完美解决.

发布了14 篇原创文章 · 获赞 0 · 访问量 1769

猜你喜欢

转载自blog.csdn.net/qq_34101232/article/details/95014847
今日推荐