问题标签 [undefined-reference]

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 投票
4 回答
199 浏览

c++ - 带有模板类的成员实现的未定义引用

这对我来说非常神秘。我在 ubuntu 上使用 g++,这是我的一些代码(类名发生了变化,但没有别的,因为我仍在到处使用存根):

鲍勃.hpp

我在另一个文件中实现了这样的:

鲍勃.cpp

我像这样使用它:

主文件

编译:

给我 main.o: 在函数main': main.cpp:(.text+0x1fd): undefined reference toBob::Bob(int, int, float, float, float)' collect2: ld 返回 1 退出状态

我完全被难住了。使用 g++ 链接阶段更改顺序没有区别。编译目标文件不会产生任何问题。当我实现构造函数时为什么会出现未定义的引用?如果有人能对此有所了解,将不胜感激。

0 投票
2 回答
9881 浏览

c++ - c++ "未定义的对'Foo::Foo(std::string)'的引用"

我不太熟悉 c++ 以及实例化对象的工作原理,所以这可能是一个非常简单的解决方法。当我使用 g++ 编译时,我收到错误“未定义对 'Foo::Foo(std::string)' 的引用”。我想创建一个类 Foo 的实例,它的构造函数中有一个字符串参数。这是代码:

Foo.h

Foo.cpp

主文件

0 投票
4 回答
21960 浏览

c++ - 使用外部时未定义的引用

我有以下设置(希望这不是一个太简单的例子):

A.cpp

溴化氢

B.cpp

现在,当我使用 inst inB.cpp我得到undefined reference to inst.

关于如何解决这个问题的任何想法?

0 投票
4 回答
2582 浏览

c++ - 未定义的参考错误

我从我的主函数中得到未定义的引用错误,但我找不到问题。我的文件是:

对于每个 .h 文件,都有他的 .cpp 文件。我还有一个 main.cpp 文件,其中包含我创建的主要和主要内容: Student stud = new HeStudent(line); 我不知道是否有必要,但我包括了 Student.h 和 HeStudent.h,我得到了一些很长的错误,它说:

谁能告诉我有什么问题?

0 投票
3 回答
862 浏览

c++ - 对 ClassName::ClassName 的未定义引用

我正在使用 Code::Blocks 来构建我的项目,其中包含三个文件:main.cpp, TimeSeries.cpp, TimeSeries.h. TimeSeries.hTimeSeries类提供如下声明:

然后TimeSeries.cpp包含:#include "TimeSeries.h"

最后,main.cpp包含

使用 C::B 构建时,出现以下错误:

我能做些什么?

谢谢,
CFP。

0 投票
2 回答
1484 浏览

c++ - 未定义的引用

链接器错误:

主.cpp:

游戏.h:

游戏.cpp:

可绘制对象.h:

可绘制对象.cpp:

播放器.h:

播放器.cpp:

0 投票
3 回答
185 浏览

c++ - C++ - 使用类时未定义的引用问题

我正在做一个使用多个类的小项目。其中一个类是Menu,它有一个showContainer方法。这是类声明:

它编译得很好。我在项目中添加了以下测试main.cpp

这将返回以下编译器错误:

有什么猜测吗?

谢谢你的时间。

0 投票
1 回答
1153 浏览

c++ - 对成员函数的未定义引用

我刚刚以为我解决了一个问题,但似乎又出现了另一个问题——或者至少是同样的问题以另一种形式出现。现在,当我尝试按照该问题的答案中的建议重建所有内容时,Qt Creator 在构建问题中显示的所有内容都是一行collect2: ld returned 1 exit status

这是我认为可能相关的一些编译输出:

关于可能导致此错误的任何想法?

编辑:我还想指出,我确实在调试目录中找到了“main.o”......

解决方案(不是真的):我在 Netbeans 中重新编译了所有内容(虽然在 Mac 上,所以链接器可能不同......)。现在程序运行良好......再见 Qt Creator

0 投票
2 回答
10869 浏览

gcc - 在 Linux 中链接 C 代码时出现“未定义的引用”

我有一个代码库(完全用 C 编写),我通常在 Windows 下编译成.DLL.

我想在 Linux 下编译它,以便分发它。我不在乎我是否将它作为一个.a、一个.so或一堆.o文件分发。

所有单个.c文件都成功编译。但是当我尝试编译一个包含所有.o文件的测试可执行文件时,我得到了一堆未定义的引用错误。

所有.o文件都作为完整路径在命令行上,并且我没有收到有关丢失文件的任何错误。

cc testctd.c -o testctd.out -lm -lc $LIBRARY-PATH/*.o

我也对 , 等有未定义的_open引用_write

0 投票
1 回答
3837 浏览

c++ - 对模板成员的未定义引用

我是 C++ 新手,在 Ubuntu 10.04 上使用 NetBeans IDE 准备作业。我使用 g++ 作为 C++ 编译器。

错误信息:

还有我的相关代码:

迷宫.h

迷宫.cpp

根据错误输出,我使用堆栈变量的每一行都有一个错误:未定义的引用。

堆栈.cpp

我已经google了它,但无法解决问题。我认为我的包含顺序有问题,或者我以错误的方式使用了指针。

我也尝试过自己创建一个makefile,但结果并没有改变。我根据这个链接准备了这个makefile:http ://www.cs.umd.edu/class/spring2002/cmsc214/Tutorial/makefile.html

这是我的生成文件:

我怎样才能克服这个错误?有任何想法吗?