码迷,mamicode.com
首页 > 编程语言 > 详细

VC++ : error LNK2005: ... already defined in *.obj

时间:2016-12-07 16:33:38      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:const   blog   basic   line   c_str   less   工程   函数   oca   

  今天写代码遇到了这么一个链接错误:“已经在*.obj中定义”。

  error LNK2005: "void __cdecl ReplaceWstringVar(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >,class std::map<class std::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> >,struct std::less<class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > >,class std::allocator<struct std::pair<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 &)" (?ReplaceWstringVar@@YAXV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABV?$map@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@U?$less@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@@2@@2@@Z) already defined in MainFrm.obj 

  ReplaceWstringVar 是我写的一个公共函数,放在一个公共的头文件中让工程各个地方都能够调用,最后解决的办法是:

  设置该函数为inline, 只需要在函数的开头加上“inline”

 inline void ReplaceWstringVar()
 {
      // 函数体  
 }

 

VC++ : error LNK2005: ... already defined in *.obj

标签:const   blog   basic   line   c_str   less   工程   函数   oca   

原文地址:http://www.cnblogs.com/MakeView660/p/6141642.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!