[root@localhost instance]# make
gcc -O3 -g -I/usr/include/ -I/usr/include/glib-2.0 -I/usr/include/glib-2.0/glib -I/usr/include/glib-2.0/gobject -I/usr/lib/glib-2.0/include -I../../../common -I../../../protocol -I../../../cache -I../../../capture -I../../../accessor -I../../../analyse -I../../../log -I/usr/include/mysql -g -pipe -Wp,-D_FORTIFY_SOURCE= -fexceptions -fstack-protector --param=ssp-buffer-size= -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS= -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -DVER_WCDMA -c main.c -o obj/main.o -DCAP_RSS -DRUN_NOM
gcc -O3 -g -o ../../../../bin/msaVqosAnalyzer obj/main.o -lpthread -lrt -g -lm ../../../../lib/librsscap.a -L ../../../../lib -lLog -lxml2 -lCommon -lAccessor -lCache -lProtocol -lCapture -lSimulateCapture -lglib-2.0 -lgthread-2.0 -lAnalyse -lmt -rdynamic -L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib64 -lssl -lcrypto
/usr/bin/ld: warning: libavformat.so.53, needed by ../../../../lib/libmt.so, not found (try using -rpath or -rpath-link)
../../../../lib/libmt.so: undefined reference to `avformat_open_input@LIBAVFORMAT_53'
../../../../lib/libmt.so: undefined reference to `av_probe_input_buffer@LIBAVFORMAT_53'../../../../lib/libmt.so: undefined reference to `get_content'
collect2: ld returned exit status
make: *** [../../../../bin/msaVqosAnalyzer] Error
[root@localhost instance]#

编译makefile时出现上述错误,找不到指定的符号

解决思路:1.编译过程中未找到libavformat.so.53库 2.符号未定义

一 libmt.so依赖libavformat.so.53,其中包含解码调用, libmt.so中解析模块,在整体编译工程时, 连接时出错。

LIB := ../../../../lib/librsscap.a -L ../../../../lib  -lmt

gcc 编译时加入了-lmt 连接libmt.so,理论上会去 ../../../../lib -L指定的路径寻找libavformat.so.53库,但是确没有,而libmt.so已经查找到。

LIB := ../../../../lib/librsscap.a -L ../../../../lib  -lmt   -lavfromat

二 undefined reference to `get_content‘ 这个错误发现不是一导致的,通过

      nm ../lib/libmt.so |grep  get_content

发现是显示U,未定义的。查询源代码,在定义的地方 get_content定义 static函数, 但是外部却调用了。 去掉static ok。

注: sourceInsight 在添加文件,重命名文件一定要记得重新同步工程,否则导致lookup references时,显示不到存在的调用, 实际存在调用,上述二犯错误的间接导致。

最新文章

  1. 使用配置文件定义ADO.NET 的连接字符串
  2. [转载]config文件的一个很好的实现
  3. TCP协议学习记录 (二) Ping程序
  4. vs c++系统函数 计时器和暂停
  5. yii2 使用twig 模板引擎
  6. 使用jquery插件实现图片延迟加载技术(懒加载)
  7. Shell脚本基础II
  8. 显示 png 图片
  9. c#中的数据类型简介(枚举)
  10. firebug登陆之数据包分析
  11. mysql解决中文乱码问题
  12. 使用POI生成Excel文件,可以自动调整excel列宽
  13. Silverlight的认识
  14. shell脚本 统计一段程序运行时间【转】
  15. 第七章 鼠标(CONNECT)
  16. 编程实现类似Linux下cp功能
  17. go 的文件处理
  18. Jquery 打开新页面
  19. ubuntu16.04安装五笔输入法
  20. mybash的编写与调试

热门文章

  1. 使用 javascript API -- fetch 实现文件下载功能
  2. Spark远程调试函数
  3. 正交矩阵、正规矩阵和酉矩阵(转自Ramble Over The Cloud~)
  4. Android(java)学习笔记66:Android Studio中build.gradle简介
  5. convolution,fft, 加速
  6. 记一次EBS正式环境补丁安装的过程
  7. Mantle--国外程序员最常用的iOS模型&字典转换框架
  8. 在windows7上配置xampp虚拟主机
  9. Shell脚本使用汇总整理
  10. Uboot S3C2440 BL1 的流程