解決win32dll 使用MFC報 dllmain.obj 已定義

// 在WIN32DLL 中 使用MFC 會報錯誤   error LNK2005: _DllMain@12 已經在 dllmain.obj 中定義    nafxcw.lib    RadiumCarved

//是由於 把windows.h換成了afxwin.h後,有一個問題,afxwin.h中定義了一個Dllmain,而代碼中又定義了一個Dllmain,因此連接時報錯,Dllmain有重定義。windows

 

//新建一個.cpp文件  添加以下內容
this

//修改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
io

相關文章
相關標籤/搜索