问题标签 [lnk2005]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++ Visual Studio 中 CPPUnitTest 中的旋转 LNK2005 / LNK2019 错误
我一直在尝试设置 CPPUnitTest 来测试 C++ 项目。我遇到了一个错误,根据我尝试解决问题的方式,我有两个旋转错误。
我在 Visual Studio 的解决方案中有两个项目。一种用于测试,一种用于项目本身。我在尝试在测试项目中引用该项目时遇到了这些错误。
如果这样做,每当我尝试构造对象或调用函数时,都会收到 LNK2019(未解析的外部符号)错误:
但是,如果我这样做,我会收到 LNK2005 (test2.obj: blahblahlblah is already defined in test1.obj) 错误,因为其中两个测试引用了它:
删除其中一个测试可以解决后者 (.cpp) 的问题,但显然这不是很好。
我想我可能在路上的某个地方错过了一步,但我不确定它是什么。我确实将“项目”项目作为依赖项添加到测试中。
有没有人可以解决这个问题?
multithreading - .obj 中已定义的多线程函数
我搜索了错误 LNK2005“已在 .obj 中定义”,但找不到与我面临的特定问题相关的内容。希望有人可以帮助我...
我有一个标题foo.h
和主文件... main.cpp
现在,它编译没有任何错误,并将给出的输出提供给控制台......
但是如果我创建另一个文件foo.cpp并且只包含头文件foo.h而什么都不做......
...我得到链接器错误 LNK2005 "void __cdecl foo(void)" (?foo@@YAXXZ) 已经在 main.obj 中定义
不知道这里出了什么问题。?!!
c++ - LNK2005-在 .hpp 文件中声明函数时出错
我正在构建一个程序,并且需要一个函数来检查鼠标是否在一个对象上。我编写了函数并创建了一个新的 .hpp-File,因为我的项目中的多个文件将使用该函数。该文件称为HitboxDetec.hpp
. 我在其中编写的函数如下所示:
我包含了所需的库等,并且代码有效(我通过在我的 .cpp 文件中声明函数来测试它)。
在我的 .cpp 文件中,我包含了CookieDetec.hpp
-File,并用
当我编译我的程序时,它只会给我一个 LNK2005-Error。我怎样才能解决这个问题?
c++ - LNK1169 带有自己的类的错误 C++
刚刚注册,因为我对这个愚蠢的错误感到震惊。
我用 1 个源文件中的所有内容以一种快速而肮脏的方式计算椭圆曲线。然后我想清理我的代码并开始将不同文件中的函数和类分开。我用 C++ 编程已经很长时间了,所以我想这是一个非常愚蠢的初学者错误。
所以我得到了 LNK1169-Error 和 LNK2005-Error 并且我找到的解决方案是关于包括 .cpp 我没有做。我虽然发现了 extern-keyword,但这似乎是全局变量的一种解决方案。
也许有人可以帮助我。
编辑:很抱歉放了这么多代码。我只是不知道什么与错误相关,什么不相关。
我得到的错误是这样的:
这是我的代码:
值.hpp
点.hpp
助手.hpp
测试.hpp
测试.cpp
主文件
在此先感谢,请原谅我“不完美”的编码方式。
c++ - .obj 中已定义的 C++ 函数
对 C++ 来说相当新,并且不确定发生了什么。我已经为其他类做到了这一点,但由于某种原因,我不断收到此错误(我也为启动焦点功能收到此错误):
这是我的文件:
UsableActor.h
https://gyazo.com/43291630a281e68d0625734a75bd25cf
可用演员.cpp
https://gyazo.com/e638b7d7297f2e490d9adea91378b52d
试图让代码工作,一直说我在stackoverflow上有未格式化的代码对不起。
c - LNK2005 在 .c 文件中包含 .h 文件时发生
我正在尝试使用 C 语言在程序中实现堆栈。我将它们分成3个文件。
首先,stack.h 文件。它包括一些基本的声明和函数,例如 Pop、Push for a stack。二、stack.c文件。它是一个实现 stack.h 文件中的函数的文件。就我而言,我使用动态数组来实现我的堆栈。三、main.c文件。这是我使用 Stack 进行一些计算的地方。
但是,最后我得到 LNK2005(...already defined in ...obj) 编译错误。我知道当存在多次定义时会发生此错误。但是,我在 .h/.c 文件中看到了许多具有相同函数名的示例,但没有导致错误。
这是错误日志:
感谢您的关注。这是我的 stack.h 文件。
这是我的 stack.c 文件。
这是我的 main.c 文件
c++ - BST 代码中的这个 LNK2005 错误来自哪里
我正在开发一个基本的 BST 项目供我自己参考。我有三个文件:BST.h、BST.cpp 和 main.cpp。
在 BST.h 中,它看起来像这样:
在 BST.cpp 中,我有所有这些函数的正式定义,等等......一个例子是:
main.cpp 文件当前为空。它只有包含和返回 0 的 main()。
当我尝试构建此解决方案时,我创建的每个函数都会出现 LNK2005 错误,直到我完成 PrintInOrderPrivate 定义的代码之后才出现这种情况。我知道 LNK2005 通常是由跨文件的多个函数定义引起的,但我没有在 BST.h 中定义任何东西,只是原型。错误都看起来像这样:
严重性代码描述项目文件行抑制状态错误 LNK2005 "public: __thiscall BST::BST(void)" (??0BST@@QAE@XZ) 已在 BST.obj BasicBinarySearchTreeReference C:\Users\guita\documents\visual studio 中定义2015\Projects\BasicBinarySearchTreeReference\BasicBinarySearchTreeReference\main.obj 1
我还收到一个我无法破译的 LNK1169 错误。
非常感谢任何关于我为什么会遇到这些错误的见解,我真的想更好地理解 BST,而这目前是我的方式。
谢谢!
c++ - 我应该使用 main.cpp 中的哪个#include(LNK2005 已经定义)
我有以下课程:
// 缓冲区.cpp
// 缓冲区.h
// main.cpp
当我运行我的程序时,我收到以下错误:
严重性代码 描述 项目文件行抑制状态错误 LNK2005 "public: class MonoSample * __cdecl Buffer::getSample(int)" (?getSample@Buffer@@QEAAPEAVMonoSample@@H@Z) 已在 Buffer.obj 中定义
严重性代码 描述 项目文件行抑制状态错误 LNK2005 "public: class MonoSample * __cdecl Buffer::getFirstSample(void)" (?getFirstSample@Buffer@@QEAAPEAVMonoSample@@XZ) 已在 Buffer.obj 中定义
(...)
我认为这是因为我在 main.cpp 中写了 #include "Buffer.cpp" 但如果没有 #include 我不知道该怎么做......如果我不这样做,我该如何使用 Buffer 对象有这个#include 吗?
谢谢!
visual-studio - printf / _vsnprintf_l / 已在 msvcrtd.lib(MSVCR120D.dll) 中定义
我有要导入库的项目。当我这样做(从库中导入 .lib 文件)并从库中调用任何函数时,我会收到以下错误:
0 警告 4 错误
有谁知道我该如何解决这个问题?我的项目中导入了以下库:
msvcprtd.lib
注1
构建为静态链接库 .lib 的所有 3 个项目都具有与我的项目相同的多线程调试 DLL (/MDd) 设置。
谢谢!