解决win32dll 使用MFC报 dllmain.obj 已定义
2013-12-31 15:55
218 查看
// 在WIN32DLL 中 使用MFC 会报错误 error LNK2005: _DllMain@12 已经在 dllmain.obj 中定义 nafxcw.lib RadiumCarved//是因为 把windows.h换成了afxwin.h后,有一个问题,afxwin.h中定义了一个Dllmain,而代码中又定义了一个Dllmain,所以链接时报错,Dllmain有重定义。
//新建一个.cpp文件 添加如下内容
//修改StdAfx.h文件:在#include <windows.h>前面加上#include <afx.h> ,加在后面就不行。并且这两个都要在stdafx.h的前面
#include "stdafx.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define new DEBUG_NEW
/////////////////////////////////////////////////////////////////////////////
// global data
// The following symbol used to force inclusion of this module for _USRDLL
#ifdef _X86_
extern "C" { int _afxForceUSRDLL; }
#else
extern "C" { int __afxForceUSRDLL; }
#endif
//新建一个.cpp文件 添加如下内容
//修改StdAfx.h文件:在#include <windows.h>前面加上#include <afx.h> ,加在后面就不行。并且这两个都要在stdafx.h的前面
#include "stdafx.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define new DEBUG_NEW
/////////////////////////////////////////////////////////////////////////////
// global data
// The following symbol used to force inclusion of this module for _USRDLL
#ifdef _X86_
extern "C" { int _afxForceUSRDLL; }
#else
extern "C" { int __afxForceUSRDLL; }
#endif
相关文章推荐
- Win32工程中使用MFCdll的解决方法
- 基于MFC的dll中添加DllMain函数,编译时产生_DllMain@12 已经在 XXX.obj 中定义的解决方法
- “DllMain 已经在 MSVCRTD.lib(dllmain.obj) 中定义以及找到一个或多个多重定义的符号”错误的解决方法
- 在WIN32 DLL中使用MFC
- 在WIN32 DLL中使用MFC
- uafxcwd.lib(dllmodul.obj) : error LNK2005: DllMain 已经在 中定义
- 仿MFC实现c++按名动态创建对象之续(瘦身以及解决其在dll中使用的问题)
- 在win32dll工程中使用mfc的方法
- uafxcwd.lib(dllmodul.obj) : error LNK2005: DllMain 已经在 中定义
- 记WIN32使用duilib时添加MFC类库发现内存泄露的问题解决
- 封装dll遇到的奇葩错误:error LNK2005: _DllMain@12 已经在 DLLMain.obj 中定义
- MFC dll 类型是 共享 规则 导出对话框函数使用出错解决办法
- uafxcwd.lib(dllmodul.obj) : error LNK2005: DllMain 已经在 中定义
- 在WIN32 DLL中使用MFC
- 在dll工程中使用mfc资源,窗体无法弹出如何解决?(文章内容均系转载,读者尚未理解)
- MFC win32 Dll的创建和使用
- VC.Net定义和使用MFC DLL
- 如何给Win32 DLL添加MFC支持?(Dllmain重定义的问题)
- uafxcwd.lib(dllmodul.obj) : error LNK2005: DllMain 已经在 中定义
- 在WIN32 DLL中使用MFC