为什么我的C++ ATL项目链接在CIL库中?

Fel*_*bek 4 c++ mfc cil visual-c++ visual-studio-2013

我从VC++ 2013收到此链接器错误:

1>* CIL library *(* CIL module *) : 
error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodul.obj)
Run Code Online (Sandbox Code Playgroud)

这是一个纯C++项目,包含"ATL简单对象"的COM DLL,以及在常规项目设置中选择"无公共语言运行时支持" .我只是向导创建它,它具有与其他工作COM DLL相同的设置.

我需要链接MFC库,而不是.NET相关的库.这个CIL库怎么可能最终在构建中?

Fel*_*bek 6

好的,如果有人需要这个以供将来参考:

当MFC标头添加到ATL项目中时,如果在ATL向导中创建项目期间未选择使用MFC,则会发生这种情况.

原因:dllmain.cpp对于启用MFC的COM DLL,生成的内容略有不同,但稍后在查看向导输出时很容易适应.