问题标签 [undefined-symbol]

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 投票
3 回答
8327 浏览

c++ - C++ 共享库中基类的未定义符号错误

我使用以下代码将以下代码编译为共享库g++ -shared ...

重点是将我的类(这里只是最小的玩具类作为示例)的功能公开为具有三个函数、和的简单CAPI 。initcleanupbar

当我尝试加载共享库(使用dyn.loadin R)时,出现错误:

所以,它似乎找不到Foo构造函数。我做错了什么,如何解决?

更新:谢谢,jbar!所以它是Foo 构函数。我是否可以从错误消息中的神秘符号中知道这一点:_ZN3FooD2EvDinFooD代表析构函数吗?

0 投票
1 回答
3456 浏览

c++ - 使用 Eclipse 链接 C++ 项目时出现未定义符号错误

我编译了一个从另一个项目移植过来的C++项目,编译后链接时有一些未定义的符号警告。关键是这些警告太奇怪了。它们分为 2 种类型:

类型 1:

关键是源代码中没有使用这些符号。那里的确切含义是什么?

类型 2:

源代码如下:

类似的语句出现在3个cpp文件中。使用std::nothrow有什么问题吗?

0 投票
1 回答
2408 浏览

c - 语法错误;意外符号:

我正在制作一堆 c/src 文件,并得到:

它在 driver.c 文件中引用并在 .src 文件中定义。它是正确的 XDEF,

这是c片段:

关于为什么会出现此错误的任何想法?TYTY

0 投票
2 回答
1406 浏览

c++ - C ++ / Eclipse中的未定义符号错误

我有一个函数可以在表格中显示向量的值,但是在链接时我不断收到“未定义的符号”错误。

这是我的函数原型:

这是定义:

这是我称之为的地方:

我确定 nameVec、scoreVec 和gradeVec 都是正确的向量类型,而且我包含了所有库,所以我很难过。我在 Google 上看到其他人在使用此类向量时遇到问题,但他们总是发现自己犯了一些错误。有没有人有任何想法?

0 投票
2 回答
3737 浏览

c++ - 链接错误:未定义的符号,很多(cpp 交叉编译)

我得到了最后一个链接命令(实际的可执行文件正在被链接),但我得到了一堆未定义的符号(它们在 cpp 中,对我来说看起来很可怕,一个简单的 c 程序员)

- 它可能很简单,但我无法得到我应该作为链接器放置的内容(它在这里使用 gcc ...?这合适吗?g++ 告诉我太多输入文件哈哈)(ld 返回大部分相同)

无论如何这很荒谬,我完全被困住了

感谢您的帮助!

0 投票
1 回答
5129 浏览

c++ - 痛饮错误:未定义符号:_ZN7hosters11hostersLink7getLinkEi

我正在尝试为这个库创建一个 python 绑定:

http://code.google.com/p/hosterslib/

我正在使用 swig,代码如下:

我跑

swig -c++ -python -o swig_wrap.cxx swig.i

我编译

g++ -O2 -fPIC -shared -o _pyhosters.so swig_wrap.cxx python-config --libs --cflags-lhosters -lcln -lhtmlcxx pkg-config libglog --libs --cflags-I/usr/include/python2.6 -Wall -Wextra

但是当我运行 python 并导入它时,我得到:

我该如何解决?

谢谢。

0 投票
2 回答
2236 浏览

c++ - ld 报告缺少符号,但符号似乎存在

我正在尝试将我的 mac 应用程序链接到美妙的libancillary库。但是,我已更改库构建脚本以创建共享库。我可以使用检查这个库中的符号nm libancillary.dylib- 结果是:

但是,当我尝试链接我的应用程序时,我得到的输出是:

(我已经稍微编辑了这个以删除很长的目标文件列表)。

什么可能导致这种联系失败?该符号存在并且是公共的,并且没有关于无法找到库的错误或任何其他错误消息。

0 投票
2 回答
9401 浏览

c - 使用头文件时出现未定义符号错误

我收到以下错误,我一生都无法弄清楚我做错了什么。

主.c:

wtf.h:

wtf.c:

现在,如果我在头文件中包含整个函数而不仅仅是签名,它会很好地符合,所以我知道 wtf.h 被包含在内。为什么编译器看不到 wtf.c?还是我错过了什么?

问候。

0 投票
1 回答
866 浏览

c - 为什么 Lua 报告 lua_pushlstring 未定义?

我设法为 Palm webOS 编译了 Lua 5.1.4,现在我正在尝试编写一个扩展来使用来自 Lua 的 webOS 服务。但是,当我尝试加载我的库时,Lua 报告:

这是我的代码:

这是我的Makefile:

我知道lua_pushliteral这只是一个调用的宏lua_pushlstring,所以这就是错误的来源。这些push_*变体似乎都不起作用。我怀疑我的 Makefile 有问题。

有任何想法吗?

0 投票
1 回答
3202 浏览

linux - 为什么要通过将 /usr/lib 添加到 ld.so.conf 来修复运行时未定义的符号?

我在 linux 中有一个案例,其中 gcc 和 ld 干净地构建东西,但是在运行时我得到一个未定义的符号(对于 libxerces-c.so.28 中的某些东西),由我自己的一个共享库报告,在运行我的程序时.

第一个假设是缓存坏了,最近安装了 xerces 或类似的东西,所以我运行了 ldconfig。没修。但是将 /usr/lib 添加到 ld.so.conf 然后运行 ​​ldconfig 确实可以解决它。

我的理解是/lib、/usr/lib,也许运行时动态链接器总是搜索一两个其他位置。

??

(唯一不寻常的是这是一个使用 jni 访问应用程序共享库的 java 程序。再说一次,如果这是合理的,我应该在这个应用程序的过去 N 年的任何时候看到这个错误。)