未定义的符号引用,DSO从命令行中丢失

时间:2014-04-17 19:14:53

标签: c++ compiler-errors debian

我试图在Debian Jessie下编译Lotech framework,但我似乎无法通过编译中的特定点。我已经搜索了出现的错误消息,几乎所有这些消息似乎都是通过安装或链接缺少的依赖项来解决的,但我无法弄清楚在这种情况下依赖的是什么。

cp buildtmp.linux/liblt.a linux/
cd clients/glfw/ && make LTCFLAGS="-O3 -DNDEBUG -DLTLINUX " && cp ltclient ../../
make[1]: Entering directory `/home/jake/Desktop/copy-lotech-master/clients/glfw'
g++ -O3 -DNDEBUG -DLTLINUX  -I../../linux/include -L../../linux ltclient.cpp \
        -o ltclient -static-libstdc++ -static-libgcc ../../linux/liblt.a ../../linux/libpng.a ../../linux/libz.a ../../linux/liblua.a ../../linux/libvorbis.a ../../linux/libbox2d.a ../../linux/libglfw.a ../../linux/libGLEW.a ../../linux/libopenal.a ../../linux/libcurl.a -lX11 -lGL wrap_memcpy.o -Wl,--wrap=memcpy
/usr/bin/ld: ../../linux/libopenal.a(helpers.o): undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libdl.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[1]: *** [ltclient] Error 1
make[1]: Leaving directory `/home/jake/Desktop/copy-lotech-master/clients/glfw'
make: *** [ltclient] Error 2

1 个答案:

答案 0 :(得分:5)

对我而言,这就是诀窍

  

设置(CMAKE_CXX_LINK_EXECUTABLE" $ {CMAKE_CXX_LINK_EXECUTABLE} -ldl")

有用的链接

Link1

Link2

Link3 <- Cmake how to find libraries

Link4

Link5