问题标签 [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.

0 投票
0 回答
142 浏览

c++ - C++ Visual Studio 中 CPPUnitTest 中的旋转 LNK2005 / LNK2019 错误

我一直在尝试设置 CPPUnitTest 来测试 C++ 项目。我遇到了一个错误,根据我尝试解决问题的方式,我有两个旋转错误。

我在 Visual Studio 的解决方案中有两个项目。一种用于测试,一种用于项目本身。我在尝试在测试项目中引用该项目时遇到了这些错误。

如果这样做,每当我尝试构造对象或调用函数时,都会收到 LNK2019(未解析的外部符号)错误:

但是,如果我这样做,我会收到 LNK2005 (test2.obj: blahblahlblah is already defined in test1.obj) 错误,因为其中两个测试引用了它:

删除其中一个测试可以解决后者 (.cpp) 的问题,但显然这不是很好。

我想我可能在路上的某个地方错过了一步,但我不确定它是什么。我确实将“项目”项目作为依赖项添加到测试中。

有没有人可以解决这个问题?

0 投票
1 回答
98 浏览

multithreading - .obj 中已定义的多线程函数

我搜索了错误 LNK2005“已在 .obj 中定义”,但找不到与我面临的特定问题相关的内容。希望有人可以帮助我...

我有一个标题foo.h

和主文件... main.cpp

现在,它编译没有任何错误,并将给出的输出提供给控制台......

但是如果我创建另一个文件foo.cpp并且只包含头文件foo.h而什么都不做......

...我得到链接器错误 LNK2005 "void __cdecl foo(void)" (?foo@@YAXXZ) 已经在 main.obj 中定义

不知道这里出了什么问题。?!!

0 投票
1 回答
223 浏览

c++ - LNK2005-在 .hpp 文件中声明函数时出错

我正在构建一个程序,并且需要一个函数来检查鼠标是否在一个对象上。我编写了函数并创建了一个新的 .hpp-File,因为我的项目中的多个文件将使用该函数。该文件称为HitboxDetec.hpp. 我在其中编写的函数如下所示:

我包含了所需的库等,并且代码有效(我通过在我的 .cpp 文件中声明函数来测试它)。

在我的 .cpp 文件中,我包含了CookieDetec.hpp-File,并用

当我编译我的程序时,它只会给我一个 LNK2005-Error。我怎样才能解决这个问题?

0 投票
1 回答
47 浏览

c++ - 我的项目中的几个链接错误:LNK2019、LNK2005

我在谷歌中尝试了所有这些错误的解决方案,但没有找到解决这个问题的方法。

这个项目真的很大,但这里是其中一个文件:

cpp文件:

头文件:

错误截图: 错误

0 投票
1 回答
131 浏览

c++ - LNK1169 带有自己的类的错误 C++

刚刚注册,因为我对这个愚蠢的错误感到震惊。

我用 1 个源文件中的所有内容以一种快速而肮脏的方式计算椭圆曲线。然后我想清理我的代码并开始将不同文件中的函数和类分开。我用 C++ 编程已经很长时间了,所以我想这是一个非常愚蠢的初学者错误。

所以我得到了 LNK1169-Error 和 LNK2005-Error 并且我找到的解决方案是关于包括 .cpp 我没有做。我虽然发现了 extern-keyword,但这似乎是全局变量的一种解决方案。

也许有人可以帮助我。

编辑:很抱歉放了这么多代码。我只是不知道什么与错误相关,什么不相关。

我得到的错误是这样的:

这是我的代码:

值.hpp

点.hpp

助手.hpp

测试.hpp

测试.cpp

主文件

在此先感谢,请原谅我“不完美”的编码方式。

0 投票
1 回答
912 浏览

c++ - .obj 中已定义的 C++ 函数

对 C++ 来说相当新,并且不确定发生了什么。我已经为其他类做到了这一点,但由于某种原因,我不断收到此错误(我也为启动焦点功能收到此错误):

这是我的文件:

UsableActor.h

https://gyazo.com/43291630a281e68d0625734a75bd25cf

可用演员.cpp

https://gyazo.com/e638b7d7297f2e490d9adea91378b52d

试图让代码工作,一直说我在stackoverflow上有未格式化的代码对不起。

0 投票
1 回答
97 浏览

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 文件

0 投票
0 回答
62 浏览

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,而这目前是我的方式。

谢谢!

0 投票
3 回答
1266 浏览

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 吗?

谢谢!

0 投票
1 回答
702 浏览

visual-studio - printf / _vsnprintf_l / 已在 msvcrtd.lib(MSVCR120D.dll) 中定义

我有要导入库的项目。当我这样做(从库中导入 .lib 文件)并从库中调用任何函数时,我会收到以下错误:

0 警告 4 错误

有谁知道我该如何解决这个问题?我的项目中导入了以下库:

msvcprtd.lib

注1

构建为静态链接库 .lib 的所有 3 个项目都具有与我的项目相同的多线程调试 DLL (/MDd) 设置。

谢谢!