9

首先,请记住,我是 linux 新手。我在编译我的项目时遇到问题。我不断收到以下错误:

/usr/bin/ld: CMakeFiles/Robot.dir/source/ModuleHandler.cpp.o: 未定义引用符号'dlsym@@GLIBC_2.4' //lib/arm-linux-gnueabihf/libdl.so.2: 错误添加符号:命令行collect2中缺少DSO:ld返回1退出状态

首先正确的目录是:/usr/lib/arm-linux-gnueabihf/libdl.so 而不是://lib/arm-linux-gnueabihf/libdl.so

我试过更新我的 ldconfig.conf 文件,设置LD_LIBRARY_PATH,使用ldd -r 无济于事。

CMAKE 用于创建 make 文件。

我以前编译没有问题。它是在我进行 apt-get 升级或尝试从 VS 交叉编译之后开始的。

任何建议将不胜感激!

//弥敦道

4

2 回答 2

26

通常,您找不到符号的手册页会告诉您需要链接哪些库。在您的情况下:

http://linux.die.net/man/3/dlsym

注意这一行:

-ldl链接。

于 2015-04-10T13:51:36.003 回答
0

对我来说,重新安装 libglfw3-dev 有效(sudo apt install libglfw3-dev)。我怀疑这已在更新期间被删除。

于 2021-02-05T17:59:18.593 回答