[MFC][原创]C++win32DLL编写提示早已包含windows.h解决办法

 原因就是windows被重复包含,如果建立MFC DLL不会存在此问题或者建立win32 dll时候勾选MFCdll也不会有此问题,原因就是win32不包含MFC库,而你win32用到MFC库函数,那建立没有勾选MFC DLL选项怎么办?还是有方法解决的比如我是用CString后引入头文件#include “afxwin.h”会提示错误
WINDOWS.H already included. MFC apps must not #include <windows.h>
此时你只需要把#include “afxwin.h”移动到targetver.h即可,之后会提示
1 error LNK2005: _DllMain@12 已经在 dllmain.obj 中定义 C:\Users\ASUS\Desktop\Core\Core\mfcs120ud.lib(dllmodul.obj) Core
可以使用代码
ifdef _X86_
extern "C" { int _afxForceUSRDLL; }
#else
extern "C" { int __afxForceUSRDLL; }
#endif 
屏蔽USRDLL或者直接工程---属性---配置属性---C/C++---预处理---删除_USRDLL即可
注意win32 DLL需要共享DLL所以还需要 工程---属性---配置属性---常规---在共享DLL中使用MFC

猜你喜欢

转载自blog.csdn.net/FL1623863129/article/details/82663916