libglib-2.0.so: error adding symbols: DSO missing from command line eror
开发环境:ubuntu
版本:14.04
gcc版本:5.4.5
问题描述
在编译licode的example时,遇到如上错误,具体是libnice库依赖了libglib-2.0,erizo又依赖了libnice,可执行文件又依赖了erizo.so,编译生成可执行文件的时候,报错找不到libglib-2.0.so
解决方案:
1,显示的添加libglib-2.0.so,这种方式太麻烦,需要手动添加很多库;
2,使用-Wl,--copy-dt-needed-entries
编译参数,让GCC自己递归查找,设置方式入下,以cmake设置为例
set(CMAKE_CXX_FLAGS "-g -Wall -std=c++11 -Wl,--copy-dt-needed-entries ${ERIZO_CMAKE_CXX_FLAGS}")