未定义的符号'dlsym @@ GLIBC_2.4'的引用

时间:2015-04-10 09:17:27

标签: linux ldd

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

  

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

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

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

CMAKE用于创建make文件。

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

任何建议都将不胜感激!

//森

2 个答案:

答案 0 :(得分:16)

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

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

注意这一行:

  

-ldl 链接。

答案 1 :(得分:0)

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