这是我的场景.我有一个包含30个子项目的项目.在其中一个项目中,我使用了CLR(公共语言运行库),因此我使用/ mdd(多线程调试DLL)修改了它的运行时.
单独地,所有项目都成功构建.但是当我尝试编译主项目时,我收到以下链接器错误:
LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
LIBCMTD.lib(winxfltr.obj) : error LNK2005: __XcptFilter already defined in MSVCRTD.lib(MSVCR80D.dll)
LIBCMTD.lib(invarg.obj) : error LNK2005: __invalid_parameter already defined in MSVCRTD.lib(MSVCR80D.dll)
LIBCMTD.lib(invarg.obj) : error LNK2005: __invoke_watson already defined in MSVCRTD.lib(MSVCR80D.dll)
LIBCMTD.lib(crt0.obj) : error LNK2005: _mainCRTStartup already defined in MSVCRTD.lib(crtexe.obj)
LIBCMTD.lib(fclose.obj) : error LNK2005: _fclose already defined in MSVCRTD.lib(MSVCR80D.dll)
LIBCMTD.lib(printf.obj) : error LNK2005: _printf already defined in MSVCRTD.lib(MSVCR80D.dll)
LIBCMTD.lib(mbstowcs.obj) : error LNK2005: _mbstowcs already defined in MSVCRTD.lib(MSVCR80D.dll) …Run Code Online (Sandbox Code Playgroud) 我一直有以下形式的链接器错误:
libcmtd.dll msvmrtd.dll 已经定义了一些元素(例如:_mkdir) ...
我不知道如何解决它们.
这是一个完整的错误消息:
private:__ thiscall type_info :: type_info(class type_info const&)"(?? 0type_info @@ AAE @ ABV0 @@ Z)已在LIBCMTD.lib(typinfo.obj)中定义
MSVCRTD.lib(ti_inst.obj):错误LNK2005:已在LIBCMTD.lib中定义的"private:class type_info&__thiscall type_info :: operator =(class type_info const&)"(?? 4type_info @@ AAEAAV0 @ ABV0 @@ Z) (typinfo.obj)
你能帮我解决这个问题吗?