首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

error LNK2005: _DllMain@12 already defined in LIBCMTD.lib,该如何解决

2012-03-28 
error LNK2005: _DllMain@12 already defined in LIBCMTD.lib请教各位,我的程序在Console Application下运

error LNK2005: _DllMain@12 already defined in LIBCMTD.lib
请教各位,我的程序在Console Application下运行没有问题,可是如果做成DLL,编译的时候就会出错,请教各位是程序的哪里设置不对呢?
Console Application里面的Preprocessor Definitions 包含下面

WITH_OPENSSL
WIN32
_DEBUG
_CONSOLE

Link -- input 包含下面:
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbc32.lib
odbccp32.lib
%(AdditionalDependencies)
C:\OpenSSL-Win32\lib\VC\libeay32MTD.lib
C:\OpenSSL-Win32\lib\VC\ssleay32MTd.lib
我把这些设置完全相同的设置在了DLL的属性中,可是编译的时候就会出error LNK2005: _DllMain@12 already defined in LIBCMTD.lib的错误,请问是哪里设置不对呢?

[解决办法]
看上去重复定义啊;例如:
重复定义全局变量;
头文件的包含重复;
使用第三方的库造成的。

热点排行