zoukankan      html  css  js  c++  java
  • VC++ : error LNK2005: ... already defined in *.obj

      今天写代码遇到了这么一个链接错误:“已经在*.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()
     {
          // 函数体  
     }
  • 相关阅读:
    Azure DevOps Server 2020.1 新增功能 (TFS)
    Azure DevOps Server 2020.1 升级指南 (TFS)
    Azure DevOps Server:如何在Git历史记录中显示中文姓名
    Azure DevOps Server:集中显示所有团队的燃尽图
    MS中adjust hydrogen功能不能使用的问题
    bat对拍
    CSP 201812-4 数据中心(最小瓶颈生成树)
    CSP 202009
    CSP 202012
    牛客练习赛76
  • 原文地址:https://www.cnblogs.com/MakeView660/p/6141642.html
Copyright © 2011-2022 走看看