visual-c++ - 如何解决Visual Studio(LNK2005)中的此链接错误?

标签 visual-c++ visual-studio-2005 msvcrt crt

我一直存在以下形式的链接器错误:

libcmtd.dll msvmrtd.dll some element(ex: _mkdir ) already defined...



而且我不知道如何解决它们。

这是完整的错误消息:

private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)

MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)



您能帮我解决这个问题吗?

最佳答案

检查几件事:

  • 您的头文件是否受到保护。 IE。他们有#ifndef卫兵吗?
  • 您是否在没有inline关键字的 header 中定义(非模板)函数。搞砸了很多东西。
  • 您是否正在尝试在.cpp文件中定义模板。所有模板定义都必须在标题中。

  • 请发布一些代码和确切的错误文本!

    关于visual-c++ - 如何解决Visual Studio(LNK2005)中的此链接错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/949017/

    相关文章:

    c++ - 可变参数模板类中的派生(虚拟)函数参数

    c# - 如何在 C# 或 C++ 中使用条件语句检查/比较四个变量是否相同或不同

    c++ - 解决 Visual C++ 中缺少 vwscanf 的更好方法?

    python - 在 PyCharm 3.4.X 控制台中运行脚本时,msvcrt getch() 没有任何反应

    c++ - 重置 CRT 调试堆中的高水计数

    c++ - 如何创建带有参数的操纵器?

    visual-studio - 您想继续并运行上次成功的构建吗?

    c++ - wxWidgets 中的静态库静态链接,但使用我的库的应用程序仍然需要 wxwidgets

    c++ - 用于 Visual Studio 2005 和 Visual Studio 2008 的诺基亚 QT 4

    c++ - DBGHelp.dll 导致在调试版本中加载 msvcrt.dll