问题标签 [multiple-definition-error]
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++ - Linker does not point out errors; multiple definition warnings pointed to the same line
Believe me, I've been through several posts on here, but none of them addressed the issue I'm having. I have this 2-year-old program that used to run. I'm kind of reviving it, but for some reason now it does not run.
Clearly, I'm having multiple definitions (too many of them):
============================ TERMINAL OUTPUT =============================
... and so on, and so forth, ... and it all ends with:
========================================================================
Strangely, the linker does not indicate any errors throughout the extensive list of warnings, not to mention that these aren't true multiple definitions. Note that each warning in a "multiple...-first defined... " pair refers to the same line. Now I don't know what to do.
I'm wondering if it has something to do with the rather busy syntax of our makefile (though it looks really good to me):
=============================== MAKEFILE =================================
...
...
=========================================================================
So, these are my questions: 1) why did the linker see an error and 2) why am I having so many multiple definitions?
If you want a clarification, let me know even if you kind of have an idea of what's going on.
============================== CODE EXAMPLE ==============================
Here's the full example function (I don't want to make this too long):
========================================================================
c++ - Arduino库中的多个定义错误
我正在尝试从 Arduino 1.0.5 中的https://github.com/janisHD/LightRobot编译 lightRobot.ino Arduino 草图,但我遇到了 lightRobot 库中函数的多个定义错误。我使用的是 OS X 10.8.5,但在 Windows 8 中遇到了同样的问题。
以下是 .h 和 .cpp 文件示例:
蓝牙事件.h
蓝牙事件.cpp
我在编译时收到以下错误 - 我只显示了列出的一对 .h/.cpp 文件的错误 - lightRobot 库中的每个文件都有类似的错误:
似乎错误发生在目标文件中,但我不确定为什么,因为头文件对它们进行了保护以防止多个定义。
c++ - Multiple definition of error linking my library
i'm trying to create a library with some functions I often use, but compiling I have this error:
This is the main.cpp:
This is Torri_lib.cpp:
And this is Torri_lib.h :
I don't understand why it says me this error, I don't see multiple definition of the functions. Can you help me? Thanks!
c++ - 无法在类之外定义类函数
我想将游戏类分成标题和源。为此,我需要能够在类外定义函数,但奇怪的是,我不能!
主文件
应用程序.hpp
现在是问题部分。
游戏.hpp .
为什么?
c++ - 只是另一个“此处首先定义的多重定义”错误
好的,所以在过去的 4 个小时里,我一直在搜索每个论坛关于“这里首先定义的多重定义”的问题,我想我一定很愚蠢,但我似乎无法解决这个问题。
我有以下文件:
main.cpp 仅包含 Server.h,其中声明了一些函数,然后在 Server.cpp 中定义这些函数。
Server.cpp 使用了 Socket.cpp、FileHandlerOut.cpp 和 Packet.h 中的函数,因此在 Server.h 中包含了头文件 Socket.h、Packet.h 和 FileHandlerIn.h。除标准库外,其他头文件均不包含任何其他内容。
发生的情况是 Server.cpp 中的每个函数和 Packet.h 中的每个函数都会出现多重定义错误。我在 Packet.h 中有函数的原因是我定义了一个结构,并且 Packet.h 函数都在该结构上运行。我真的很困惑我应该如何正确定义这些函数,所以我可以在其他 cpp 文件中使用它们,这可能是我问题的一部分?
c - main() 的多重定义
大家好,尝试使用两个 main() 并得到这个错误的 main() 的多个定义。我重命名了我的主要功能,那么为什么会出现这个错误,并且首先在这里为我的 print() 定义。头文件:
c文件一:
c文件二:
c++ - C++ 多定义错误
对于一个简单的 c++ hello world 程序,我遇到了一堆错误。
我看到的所有解决方案都只是令人困惑并且没有帮助。我正在使用代码块 IDE。
c++ - 多重定义错误
我发布了这个问题,因为我陷入了一个非常奇怪的问题。我有几个 .cpp 文件和几个标题的项目。特别是这段代码出现在三个不同的 .cpp 文件中:
并在每个文件中扮演不同的角色。我想知道为什么编译器让我出现“多重定义错误”。这两个函数原型和变量仅在 .cpp 文件中定义(不在任何头文件中),并且仅在声明它们的文件中使用。
我解决了这个错误,在声明之前加上了“静态”这个词,它工作得很好,但是我在调试器上遇到了一些问题(没有显示变量的值)。我发现如果我重命名上面的变量和函数,调试器的麻烦就会消失。我决定在函数内部而不是全局声明变量,而不是重命名变量。我没有重命名这些功能。这样做时,每次我在调用函数“cranknicolson1()”时突然调用它,然后在做任何事情之前,程序就会崩溃。我认为这种非常奇怪的行为是由函数原型之前的“静态”一词引起的,因为我无法解释!这是我的代码。http://qpwoei.altervista.org/Code.zip 我强调代码在执行任何操作之前在 crannicolson1() 中崩溃的事实!所以cranknicolson算法没有问题,但是别的。希望有人可以帮助我,非常感谢您!
c++ - 多个定义编译错误
我在 StackExchange 上的第一篇文章!我有一个 C++ 课程的作业;使用先前分配的日期类(月、日、年)和时间类(小时、分钟、上午/下午)进行约会类。我想我已经解决了大部分主要/语法错误。
我的问题是,就我目前完成#includes 和头文件的方式而言,我得到了日期和时间的构造函数的多重定义错误 。(而且我对模板了解不多,但我需要使用它们。)
我的文件:
约会.cpp
我需要能够创建时间/日期对象,我应该使用 .h 还是 .cpp 文件?
约会.h
/li>日期.cpp
/li>日期.h
/li>时间.cpp
/li>时间.h
/li>
以下与上述文件的实现有关:
主文件
/li>读取.cpp
/li>输出.cpp
/li>arrayListType.h(其中包含所有实现,作为模板)
- 项目类型.h
不确定您是否需要查看最后 2 个。如果我需要发布更多信息,我很高兴。我也有所有文件的压缩版本。
c++ - 由于符号的多重定义,使用 CMake 在 C++ 中创建共享库时出现链接错误
我在编译与 POCO C++ 库链接的代码以创建 Linux 共享库时遇到问题(以防万一)。这是我的简化环境。
我有这 3 个文件:
IL_Notify.h
IL_Class1.cpp
IL_Class2.cpp
IL_Class1
并在和IL_Class2
处声明。不包含在这些标题中。IL_Class1.h
IL_Class2.h
IL_Notify.h
这是我的CMakeLists.txt文件
我可以cmake
成功执行,创建Makefile
. 但是当我运行时make
,我得到了这个错误
因此,即使我阻止包含两次标头, via#ifndef
也make
无法编译我的代码,因为在该标头中声明的符号被检测到两次。为什么?