问题标签 [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 回答
157014 浏览

c - 对“罪”的未定义引用

我有以下代码(简化为这个问题的基本知识):

编译时gcc test.c出现以下错误,我不知道为什么:

但是,我编写了sinmain函数内部调用的各种测试程序,并且它们运行良好。我必须在这里做一些明显错误的事情 - 但它是什么?

0 投票
1 回答
1193 浏览

c++ - 无法在 Windows 上构建 OpenCL 程序

我在 Linux 上编写了一个简单的“无所事事”OpenCL 应用程序(使用 C++,但使用 C API)来获取有关 OpenCL 速度的一些数据。它编译得很好并且运行没有错误。我没有支持 OpenCL 的显卡,但我需要在 GPU 上进行测试。我正在尝试使用 NVIDIA 的 CUDA 工具包提供的 OpenCL 实现在我朋友的 Windows 7 64 位计算机上构建应用程序。

当我尝试链接到 CUDA\x64 中的 OpenCL.lib 文件时,我得到程序中每个 OpenCL 调用的未定义引用(使用标准 C API)。当我链接到 system32 目录中的 OpenCL.dll 时,也会发生同样的事情。如果我链接到 CUDA Toolkit 附带的 win32 库,我不会收到错误,但 OpenCL 无法获取平台。我在链接时获得的所有未定义引用在符号名称的末尾都有一个@20 或@46 或一些随机数。我对 Windows 开发不够熟悉,不知道如何解决这个问题。我的问题可能是什么?

我为任何新手道歉。感谢您的任何回答!

0 投票
1 回答
5552 浏览

android - 使用 JNI 访问我的共享库时出现“未定义的引用”

我正在尝试使用 JNI 构建一个版本的Botan(用于加密算法的库)以在 Android 上运行一些本机 C++ 程序。
我已经使用 NDK 工具链(NDK R5b)成功地创建了一个 libbotan.so,没有任何错误。但是当我从我的 Android 项目(示例)编译我的源文件(exampleError.cpp)时,我收到以下错误:

这是我的 exampletError.cpp:

这里是对应的Java类createError.java: private native void simpleTestCall();

在这里你可以看到 Android.mk:

最后,但并非最不重要的 Application.mk:

注:JNI文件夹结构如下:Android.mk Application.mk botan/botan_all.h sources/botan_all.cpp exampleError.cpp

我还检查了 libbotan.so 的内容,如下所示:

但我不知道在这个输出中是否可以看到任何错误。此外,我还在网上搜索了这个错误,例如here。不幸的是,我还不能解决我的问题。

所以我的问题是:我做错了什么?

0 投票
5 回答
106688 浏览

c - 对 sqrt(或其他数学函数)的未定义引用

我有这个简单的代码:

在标题中我有:

但是应用程序仍然说未定义的引用sqrt。你看到这里有什么问题吗?看起来一切都应该没问题。

0 投票
0 回答
205 浏览

ios - 将符号添加到静态库的外部名称目录

我对由特定静态库生成的符号列表otoolnm为特定静态库生成的符号列表的差异感到困惑。我正在尝试链接一些静态库以创建最终的可执行文件,但链接器抱怨Undefined symbols: "_main", referenced from: _main$non_lazy_ptr in crt1.o. 如果我nm在其中一个库 ( libext.a) 上执行此操作,我会看到它_main是在一个名为main.o. 但是如果我在同一个otool-s库上做一个,我会发现存档部分中_main没有它。__.SYMDEF我如何强制_main包含在此部分中?在图书馆做事ranlib -c没有帮助。

0 投票
6 回答
261377 浏览

c++ - 未定义的引用

当我为链表编译代码时,我得到了一堆未定义的引用错误。代码如下。我一直在编译这两个语句:

我真的不明白为什么我会收到这些错误,因为我对 C++ 中的类真的很生疏。我真的可以使用一些帮助。

线性节点.h:

线性节点.cpp:

链表.h:

链表.cpp:

测试.cpp:

0 投票
3 回答
4395 浏览

c++ - C++:对'FMOD::X'的未定义引用

找了各种声音API库后,我决定暂时使用FMOD。

问题是,每当我尝试编译其中一个代码示例时,都会出现以下错误:

我正在使用的代码示例是这样的:

我正在使用最新版本的 FMOD,并且正在使用带有 GNU GCC 编译器的 Code::Blocks IDE(版本 10.05)。该项目属于“控制台应用程序”类型。fmodex.dll 文件位于我项目的文件夹中。我正在使用 Windows XP 32 位 SP3。

我已经链接到该libfmodex.a库并尝试链接到它那里的其他库,但这并不能解决问题。

因此,我的问题是,我需要做些什么来阻止这些错误的发生?就像我在使用其他库之前遇到类似的“未定义对 x 的引用”错误一样。我刚刚忘记在 Code::Blocks 中链接到它们,一旦我这样做了,它们就会起作用。

请说您是否需要有关代码等的更多信息。

0 投票
2 回答
3183 浏览

c++ - 来自虚函数的未定义引用

我有一个像这样的课程:

基数.h

Ib Base.cpp,我定义了 GetDetail。

我有一些派生类从它们自己的实现 getInfo() 中调用 GetDetail。

当我从 Base.h 中的虚函数定义中删除对 getInfo() 的调用时,代码将通过派生类自己的实现进行编译。

当我使用从内联虚函数调用 GetDetail 的虚函数进行编译时,链接失败并显示:

未定义对 GetDetail 的引用。

有任何想法吗?

0 投票
2 回答
138 浏览

c++ - 有没有办法处理模板函数的未定义引用错误而不在标头中实现它们?

我希望问题很清楚。如果不在头文件中实现模板函数,是否有另一种方法不会出现未定义的引用错误?提前致谢。

0 投票
1 回答
1247 浏览

c++ - 抽象类(Qt)的“未定义的vtable引用”

我正在编写一个用于将表达式解析为树结构的库,并且我有一个抽象类型QCExpressionNode作为我的基类。它看起来像这样:

当我编译一些适用于子类(、、、等)的测试(QtCreator 中的另一个项目QCConstantNodeQCVariableNodeQCBinaryOperatorNode,链接器给了我一个 QCExpressionNode 的“未定义的 vtable 引用”错误。我究竟做错了什么?