LNK1169:在2017年中找到的一个或多个多重定义符号

时间:2017-02-06 05:13:18

标签: c++ visual-studio-2017

我使用vs2017重新编译了corba mico库,并尝试将其链接到我们的项目。 (之前在vs2012中一切都工作过)

并且已经检查了运行时库以便在整个地方设置为Multi-threaded DLL(/MD)

仍然无法解决one or more multiply defined symbols found问题,也无法理解std::exception::what如何进行多重定义。

2>strlib.lib(codecvt.obj) : error LNK2005: "public: virtual char const * __thiscall std::exception::what(void)const " (?what@exception@std@@UBEPBDXZ) already defined in mico2313.lib(mico2313.dll)
2>strlib.lib(time.obj) : error LNK2005: "public: virtual char const * __thiscall std::exception::what(void)const " (?what@exception@std@@UBEPBDXZ) already defined in mico2313.lib(mico2313.dll)
2>strlib.lib(date.obj) : error LNK2005: "public: virtual char const * __thiscall std::exception::what(void)const " (?what@exception@std@@UBEPBDXZ) already defined in mico2313.lib(mico2313.dll)
2>strlib.lib(timestamp.obj) : error LNK2005: "public: virtual char const * __thiscall std::exception::what(void)const " (?what@exception@std@@UBEPBDXZ) already defined in mico2313.lib(mico2313.dll)
2>MetaDataAccess.lib(MetadataInterfaceFactory.obj) : error LNK2005: "public: virtual char const * __thiscall std::exception::what(void)const " (?what@exception@std@@UBEPBDXZ) already defined in mico2313.lib(mico2313.dll)
2>MetaDataAccess.lib(MetadataInterfaceInternal.obj) : error LNK2005: "public: virtual char const * __thiscall std::exception::what(void)const " (?what@exception@std@@UBEPBDXZ) already defined in mico2313.lib(mico2313.dll)
2>MSVCRT.lib(throw_bad_alloc.obj) : error LNK2005: "public: virtual char const * __thiscall std::exception::what(void)const " (?what@exception@std@@UBEPBDXZ) already defined in mico2313.lib(mico2313.dll)
2>strlib.lib(filepathutilities.obj) : error LNK2005: "public: virtual char const * __thiscall std::exception::what(void)const " (?what@exception@std@@UBEPBDXZ) already defined in mico2313.lib(mico2313.dll)
2>   Creating library D:\dev\GIT\SuperSTAR_Mega\superstar2\SuperCROSS\Super32\..\..\..\output\Win32\Release\MetaAccess.lib and object D:\dev\GIT\SuperSTAR_Mega\superstar2\SuperCROSS\Super32\..\..\..\output\Win32\Release\MetaAccess.exp
2>D:\dev\GIT\SuperSTAR_Mega\superstar2\SuperCROSS\Super32\..\..\..\output\Win32\Release\build\MetaAccess.dll : fatal error LNK1169: one or more multiply defined symbols found

0 个答案:

没有答案