undefined reference to...

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

posted on 2015-07-24 14:07  层林尽染  阅读(324)  评论(0编辑  收藏  举报

导航