使用带有icc 14的多线程运行时库时出错

时间:2014-06-28 21:51:23

标签: c++ visual-c++ icc

当我在ICC 14中使用/ MT标志时,我收到以下错误:

1>  xilink: executing 'link'
1>MSVCRT.lib(MSVCR120.dll) : error LNK2005: isspace already defined in LIBCMT.lib(_ctype.obj)
1>MSVCRT.lib(MSVCR120.dll) : error LNK2005: __iob_func already defined in LIBCMT.lib(_file.obj)
1>MSVCRT.lib(MSVCR120.dll) : error LNK2005: fprintf already defined in LIBCMT.lib(fprintf.obj)
1>MSVCRT.lib(MSVCR120.dll) : error LNK2005: abort already defined in LIBCMT.lib(abort.obj)
1>MSVCRT.lib(MSVCR120.dll) : error LNK2005: free already defined in LIBCMT.lib(free.obj)
1>MSVCRT.lib(MSVCR120.dll) : error LNK2005: malloc already defined in LIBCMT.lib(malloc.obj)
1>MSVCRT.lib(MSVCR120.dll) : error LNK2005: realloc already defined in LIBCMT.lib(realloc.obj)
1>MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: __cdecl type_info::type_info(class type_info const &)" (??0type_info@@AEAA@AEBV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
1>MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __cdecl type_info::operator=(class type_info const &)" (??4type_info@@AEAAAEAV0@AEBV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
1>LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>D:\forgottenserver-master\vc12\x64\Release\theforgottenserver.exe : fatal error LNK1169: one or more multiply defined symbols found

我不知道造成这种情况的原因是什么,当我使用/ MD标志时,一切正常

我正在使用带有MSVC 2013终极版的ICC版本14,我正在使用boost编译一个x64程序(我自己为iw平台编译了这些文件,它们似乎正常工作)

1 个答案:

答案 0 :(得分:-2)

尝试在属性中指定LIBCMT - >链接器 - >忽略特定的默认库