李锦俊(mybios)的blog

游戏开发 C++ Cocos2d-x OpenGL DirectX 数学 计算机图形学 SQL Server

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  86 Posts :: 0 Stories :: 370 Comments :: 0 Trackbacks

公告

QQ:30743734
EMain:mybios@qq.com

常用链接

留言簿(15)

我参与的团队

最新随笔

搜索

  •  

积分与排名

  • 积分 - 327371
  • 排名 - 58

最新评论

阅读排行榜

评论排行榜

烦人的错误。。搞了一个多小时才解决,写下来记录一下。

解决办法:保证需要链接的几个项目的运行时库使用同一个类型就OK了!例如我的工程中有GameCore、Plugin_D3D9RenderSystem、Plugin_Win32Platform三个工程,那么就去设置每个工程的C/C++ ->代码生成->运行时库,统一设置成“多线程 DLL(/MD)”,就可以了。如果其中一个不是MD,就会出现以下的错误。很烦人。希望同样遇到这个问题的朋友能少走弯路

以下是链接错误信息:
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: int __thiscall std::ios_base::width(int)" (?width@ios_base@std@@QAEHH@Z) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: int __thiscall std::ios_base::width(void)const " (?width@ios_base@std@@QBEHXZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: int __thiscall std::ios_base::flags(void)const " (?flags@ios_base@std@@QBEHXZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: bool __thiscall std::ios_base::good(void)const " (?good@ios_base@std@@QBE_NXZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: int __thiscall std::ios_base::rdstate(void)const " (?rdstate@ios_base@std@@QBEHXZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: static unsigned int __cdecl std::char_traits<char>::length(char const *)" (?length@?$char_traits@D@std@@SAIPBD@Z) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "class std::basic_ostream<wchar_t,struct std::char_traits<wchar_t> > & __cdecl std::operator<<<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >(class std::basic_ostream<wchar_t,struct std::char_traits<wchar_t> > &,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const &)" (??$?6_WU?$char_traits@_W@std@@V?$allocator@_W@1@@std@@YAAAV?$basic_ostream@_WU?$char_traits@_W@std@@@0@AAV10@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@@Z) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: wchar_t __thiscall std::basic_ios<wchar_t,struct std::char_traits<wchar_t> >::fill(void)const " (?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBE_WXZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > __thiscall std::basic_ostringstream<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >::str(void)const " (?str@?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@XZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: __thiscall std::basic_ostringstream<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >::basic_ostringstream<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >(int)" (??0?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@H@Z) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: class std::basic_ostream<wchar_t,struct std::char_traits<wchar_t> > & __thiscall std::basic_ostream<wchar_t,struct std::char_traits<wchar_t> >::operator<<(int)" (??6?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV01@H@Z) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: __thiscall std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const &)" (??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV01@@Z) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: void __thiscall std::basic_ostream<wchar_t,struct std::char_traits<wchar_t> >::_Osfx(void)" (?_Osfx@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEXXZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: class std::basic_ostream<wchar_t,struct std::char_traits<wchar_t> > * __thiscall std::basic_ios<wchar_t,struct std::char_traits<wchar_t> >::tie(void)const " (?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@XZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: void __thiscall std::basic_streambuf<wchar_t,struct std::char_traits<wchar_t> >::_Lock(void)" (?_Lock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: void __thiscall std::basic_streambuf<wchar_t,struct std::char_traits<wchar_t> >::_Unlock(void)" (?_Unlock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: unsigned short __thiscall std::basic_streambuf<wchar_t,struct std::char_traits<wchar_t> >::sputc(wchar_t)" (?sputc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEG_W@Z) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: __thiscall std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >::~basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >(void)" (??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ) 已经在 Plugin_Win32Platform.lib(Plugin_Win32Platform.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: __thiscall std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >(wchar_t const *)" (??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@PB_W@Z) 已经在 Plugin_Win32Platform.lib(Plugin_Win32Platform.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: __thiscall std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >(void)" (??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: void __thiscall std::basic_ostringstream<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >::`vbase destructor'(void)" (??_D?$basic_ostringstream@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXXZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: class std::basic_ostream<wchar_t,struct std::char_traits<wchar_t> > & __thiscall std::basic_ostream<wchar_t,struct std::char_traits<wchar_t> >::flush(void)" (?flush@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEAAV12@XZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: class std::basic_streambuf<wchar_t,struct std::char_traits<wchar_t> > * __thiscall std::basic_ios<wchar_t,struct std::char_traits<wchar_t> >::rdbuf(void)const " (?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@XZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: void __thiscall std::basic_ios<wchar_t,struct std::char_traits<wchar_t> >::setstate(int,bool)" (?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXH_N@Z) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: class std::locale __thiscall std::ios_base::getloc(void)const " (?getloc@ios_base@std@@QBE?AVlocale@2@XZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: static unsigned int __cdecl std::ctype<wchar_t>::_Getcat(class std::locale::facet const * *)" (?_Getcat@?$ctype@_W@std@@SAIPAPBVfacet@locale@2@@Z) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: wchar_t __thiscall std::ctype<wchar_t>::widen(char)const " (?widen@?$ctype@_W@std@@QBE_WD@Z) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: class std::locale::facet const * __thiscall std::locale::_Getfacet(unsigned int)const " (?_Getfacet@locale@std@@QBEPBVfacet@12@I@Z) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: __thiscall std::locale::~locale(void)" (??1locale@std@@QAE@XZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: void __thiscall std::locale::facet::_Register(void)" (?_Register@facet@locale@std@@QAEXXZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: void __thiscall std::locale::facet::_Incref(void)" (?_Incref@facet@locale@std@@QAEXXZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: __thiscall std::locale::id::operator unsigned int(void)" (??Bid@locale@std@@QAEIXZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: static unsigned short __cdecl std::char_traits<wchar_t>::eof(void)" (?eof@?$char_traits@_W@std@@SAGXZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: static bool __cdecl std::char_traits<wchar_t>::eq_int_type(unsigned short const &,unsigned short const &)" (?eq_int_type@?$char_traits@_W@std@@SA_NABG0@Z) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "bool __cdecl std::operator<<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const &,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const &)" (??$?M_WU?$char_traits@_W@std@@V?$allocator@_W@1@@std@@YA_NABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0@Z) 已经在 Plugin_Win32Platform.lib(Win32RenderWindow.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "protected: wchar_t const * __thiscall std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >::_Myptr(void)const " (?_Myptr@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IBEPB_WXZ) 已经在 Plugin_Win32Platform.lib(Plugin_Win32Platform.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: wchar_t const * __thiscall std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >::c_str(void)const " (?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ) 已经在 Plugin_Win32Platform.lib(Win32LogSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "protected: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Myptr(void)const " (?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IBEPBDXZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::size(void)const " (?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const " (?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: bool __thiscall std::ios_base::fail(void)const " (?fail@ios_base@std@@QBE_NXZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > & __thiscall std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >::erase(unsigned int,unsigned int)" (?erase@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@II@Z) 已经在 Plugin_Win32Platform.lib(Plugin_Win32Platform.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: void __thiscall std::basic_ios<wchar_t,struct std::char_traits<wchar_t> >::clear(int,bool)" (?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXH_N@Z) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: unsigned int __thiscall std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >::size(void)const " (?size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIXZ) 已经在 Plugin_Win32Platform.lib(Plugin_Win32Platform.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "protected: wchar_t * __thiscall std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >::_Myptr(void)" (?_Myptr@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IAEPA_WXZ) 已经在 Plugin_Win32Platform.lib(Plugin_Win32Platform.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: int __thiscall std::basic_streambuf<wchar_t,struct std::char_traits<wchar_t> >::sputn(wchar_t const *,int)" (?sputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPB_WH@Z) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: static unsigned int __cdecl std::char_traits<wchar_t>::length(wchar_t const *)" (?length@?$char_traits@_W@std@@SAIPB_W@Z) 已经在 Plugin_Win32Platform.lib(Plugin_Win32Platform.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(char const *,unsigned int)" (?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(char const *,unsigned int)" (?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
libcpmt.lib(ios.obj) : error LNK2005: "public: static void __cdecl std::ios_base::_Addstd(class std::ios_base *)" (?_Addstd@ios_base@std@@SAXPAV12@@Z) 已经在 msvcprt.lib(MSVCP80.dll) 中定义
libcpmt.lib(ios.obj) : error LNK2005: "private: static void __cdecl std::ios_base::_Ios_base_dtor(class std::ios_base *)" (?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z) 已经在 msvcprt.lib(MSVCP80.dll) 中定义
libcpmt.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Getgloballocale(void)" (?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ) 已经在 msvcprt.lib(MSVCP80.dll) 中定义
libcpmt.lib(locale0.obj) : error LNK2005: "private: static void __cdecl std::locale::facet::facet_Register(class std::locale::facet *)" (?facet_Register@facet@locale@std@@CAXPAV123@@Z) 已经在 msvcprt.lib(MSVCP80.dll) 中定义
libcpmt.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_dtor(class std::_Locinfo *)" (?_Locinfo_dtor@_Locinfo@std@@SAXPAV12@@Z) 已经在 msvcprt.lib(MSVCP80.dll) 中定义
libcpmt.lib(locale0.obj) : error LNK2005: "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(char const *)" (??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@PBD@Z) 已经在 msvcprt.lib(MSVCP80.dll) 中定义
libcpmt.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Init(void)" (?_Init@locale@std@@CAPAV_Locimp@12@XZ) 已经在 msvcprt.lib(MSVCP80.dll) 中定义
libcpmt.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_ctor(class std::_Locinfo *,char const *)" (?_Locinfo_ctor@_Locinfo@std@@SAXPAV12@PBD@Z) 已经在 msvcprt.lib(MSVCP80.dll) 中定义
libcpmt.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QAE@H@Z) 已经在 msvcprt.lib(MSVCP80.dll) 中定义
libcpmt.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QAE@XZ) 已经在 msvcprt.lib(MSVCP80.dll) 中定义
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > & __thiscall std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >::assign(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const &)" (?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@ABV12@@Z) 已经在 Plugin_Win32Platform.lib(Win32InputSystem.obj) 中定义
   正在创建库 ../Lib/GameCore.lib 和对象 ../Lib/GameCore.exp
../Bin/GameCore.dll : fatal error LNK1169: 找到一个或多个多重定义的符号

如果本文对你的开发有所帮助,并且你手头恰好有零钱。

不如打赏我一杯咖啡,鼓励我继续分享优秀的文章。




posted on 2006-12-22 11:14 李锦俊(mybios) 阅读(14588) 评论(15)  编辑 收藏 引用 所属分类: VC Debug

Feedback

# re: 今天碰到了LINK2005的问题 2006-12-22 12:19 pengkuny
LINK2005我也遇到不少次,
不过听说它的错误原因很复杂,有很多种,
唉,搞不清楚啊  回复  更多评论
  

# re: 今天碰到了LINK2005的问题 2006-12-22 13:01 李锦俊
是的。原因不少。这个只是其中之一。网上有些文章有介绍的。都比较常见  回复  更多评论
  

# re: 今天碰到了LINK2005的问题 2006-12-25 17:46 V
设置 /FORCE:MULTIPLE 就可以避免LNK1169 & LNK2005  回复  更多评论
  

# re: 今天碰到了LINK2005的问题 2006-12-28 21:05 fff
请问:FORCE:MULTIPLE怎么设置啊?
我的邮箱weiweiyang2005@163.com
谢谢!
  回复  更多评论
  

# re: 今天碰到了LINK2005的问题 2006-12-30 15:25 李锦俊
在项目属性->链接器->命令行中设置  回复  更多评论
  

# re: 今天碰到了LINK2005的问题 2007-01-27 21:21 包子
哎,我上个星期在2005上面也是花了n多时间。遇到n多莫名其妙的问题,简直是郁闷,不过也是解决一个就记录一个啊。哈哈  回复  更多评论
  

# re: 今天碰到了LINK2005的问题 2007-07-09 15:19 vista
@李锦俊
c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(24) : fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]

修改完提示上面段信息。  回复  更多评论
  

# re: 今天碰到了LINK2005的问题 2007-07-20 10:46 hehe
赞。我也遇到同样的问题,看了你的博客就解决了。呵呵  回复  更多评论
  

# re: 今天碰到了LINK2005的问题[未登录] 2007-07-20 12:33 李锦俊
@vista
既然不能使用这个,那就使用其他线程模式啊。  回复  更多评论
  

# re: 今天碰到了LINK2005的问题 2007-08-29 11:24 重剑
看来不少人遇到过这个问题

看我的血泪史
http://www.cppblog.com/lai3d/archive/2007/07/25/28734.aspx  回复  更多评论
  

# re: 今天碰到了LINK2005的问题 2008-10-22 18:28 bili
谢谢,解决了!  回复  更多评论
  

# re: 今天碰到了LINK2005的问题 2008-12-22 18:25 RichardHe
怎么解决的?  回复  更多评论
  

# re: 今天碰到了LINK2005的问题 2008-12-22 20:13 李锦俊
@RichardHe
文章开头写了。如下:
解决办法:保证需要链接的几个项目的运行时库使用同一个类型就OK了!例如我的工程中有GameCore、Plugin_D3D9RenderSystem、Plugin_Win32Platform三个工程,那么就去设置每个工程的C/C++ ->代码生成->运行时库,统一设置成“多线程 DLL(/MD)”,就可以了。如果其中一个不是MD,就会出现以下的错误。很烦人。希望同样遇到这个问题的朋友能少走弯路  回复  更多评论
  

# re: 今天碰到了LINK2005的问题 2009-04-15 10:51 zzz822163
谢谢,我也解决了!  回复  更多评论
  

# re: 今天碰到了LINK2005的问题 2010-09-02 10:02 ceciliawing
谢谢你~ 帮助我这个菜鸟 解决了问题~~  回复  更多评论
  


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理