: error LNK2005: _DllMain@12 already defined in dllmain.obj

用Visual C++编写DLL,如果在new project时选了MFC DLL,而后又想写成Regular DLL,即拥有自己的DllMain()入口函数,则在build时会遇到类似如下的link错误:

 error LNK2005: _DllMain@12 already defined in xxx.OBJ

几种解决方案:

1, 你只需要在工程设置里面,把

WIN32,NDEBUG,_WINDOWS,_MBCS,_USRDLL,MSGBOX_EXPORTS,_WINDLL,_AFXDLL

中的_USRDLL,删除,就可以正确编译了

 

PS:在建立动态链接库工程的时候,如果选择建立一个simple project,建好后默认为mfc的,如果想建立一个拥有DllMain()的工程,则需要建立一个empty工程,自己添加文件。

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试