Linux 下编程出现undefined reference to...
原因分析:
1、链接时缺失了相关目标文件(.o)
2、链接时缺少相关的库文件(.a/.so)
3. 链接的库文件中又使用了另一个库文件
4 多个库文件链接顺序问题
在链接命令中给出所依赖的库时,需要注意库之间的依赖顺序,依赖其他库的库一定要放到被依赖库的前面,这样才能真正避免undefined reference的错误,完成编译链接。
5. 在c++代码中链接c语言的库
参考http://blog.csdn.net/aiwoziji13/article/details/7330333
具体到在qt中使用live555静态库,需要将
libliveMedia.a libgroupsock.a libBasicUsageEnvironment.a libUsageEnvironment.a复制到编译树目录。
然后将四个库文件顺序添加到qt creator的pro文件,如
LIBS += libgroupsock.a
LIBS += libliveMedia.a
LIBS += libBasicUsageEnvironment.a
LIBS += libUsageEnvironment.a