ffmpeg 静态库使用,undefined reference错误
来源:互联网 发布:沈惟敬 知乎 编辑:程序博客网 时间:2024/04/29 09:18
ffmpeg移植到dm365上,遇到undefined reference错误:
GA/gabin/lib/libavformat.a(allformats.o): In function `av_register_all':
/GA/ffmpeg-0.10/libavformat/allformats.c:53: undefined reference to `avcodec_register_all'
/GA/gabin/lib/libavformat.a(amr.o): In function `amr_read_packet':
/GA/ffmpeg-0.10/libavformat/amr.c:153: undefined reference to `av_new_packet'
/GA/ffmpeg-0.10/libavformat/amr.c:169: undefined reference to `av_free_packet'
/GA/gabin/lib/libavformat.a(anm.o): In function `read_header':
/GA/ffmpeg-0.10/libavformat/anm.c:89: undefined reference to `av_log_ask_for_sample'
/GA/ffmpeg-0.10/libavformat/anm.c:166: undefined reference to `av_log_ask_for_sample'
/GA/gabin/lib/libavformat.a(ape.o): In function `ape_read_packet':
/GA/ffmpeg-0.10/libavformat/ape.c:372: undefined reference to `av_new_packet'
/GA/gabin/lib/libavformat.a(applehttp.o): In function `free_variant_list':
/GA/ffmpeg-0.10/libavformat/applehttp.c:131: undefined reference to `av_free_packet'
/GA/gabin/lib/libavformat.a(applehttp.o): In function `reset_packet':
/GA/ffmpeg-0.10/libavformat/applehttp.c:151: undefined reference to `av_init_packet'
/GA/ffmpeg-0.10/libavformat/applehttp.c:151: undefined reference to `av_init_packet'
/GA/gabin/lib/libavformat.a(applehttp.o): In function `applehttp_read_seek':
/GA/ffmpeg-0.10/libavformat/applehttp.c:712: undefined reference to `av_free_packet'
/GA/gabin/lib/libavformat.a(applehttp.o): In function `reset_packet':
网上查阅,普遍提示两种解决方法:
一、ffmpeg是纯C的库,应用程序用C++来编译。
二、路径、需要的库包含不全。
以上具体就不说了,搜索下便是。
我在无数遍仔细确认上述两种可能性后,仍然报错。郁闷了一个晚上。。
后来查阅ffmpeg的 pkg-config,终于找到原因,错误导致过程让我痛苦,原因却很简单。
错误:gcc test.c -o test -I/GA/gabin/include/ -L/GA/gabin/lib -lavcodec -lavformat -lavdevice -lavutil -pthread -ldl -lswscale -lSDL -lbz2 -lasound -lz -lm
调整: gcc test.c -o test -I/GA/gabin/include/ -L/GA/gabin/lib -lavformat -lavdevice -lavcodec -lavutil -pthread -ldl -lswscale -lSDL -lbz2 -lasound -lz -lm
问题解决,同志需要注意包依赖关系。
- ffmpeg 静态库使用,undefined reference错误
- ffmpeg 静态库使用,undefined reference错误
- ffmpeg 静态库使用,undefined reference错误
- ffmpeg 静态库使用,undefined reference错误
- 【FFMPEG】【ARM-Linux开发】 ffmpeg 静态库使用,undefined reference错误
- 使用ffmpeg库编译错误undefined reference to `BZ2_bzDecompressInit'
- 使用ffmpeg库编译错误undefined reference to `BZ2_bzDecompressInit'
- 使用ffmpeg库编译错误undefined reference to `BZ2_bzDecompressInit'
- 使用opencv 2.2静态库时: undefined reference to `clock_gettime' 链接错误问题解决
- 创建和使用静态库(问题:undefined reference)
- linux undefined reference ffmpeg
- Qt+ffmpeg 配置 错误:undefined reference to `av_get_random_seed' 找不到.so
- 使用信号时报undefined reference to错误
- linux 静态库的链接 undefined reference
- linux 静态库的链接 undefined reference
- linux 静态库的链接 undefined reference
- linux 链接 静态库 undefined reference to
- linux 静态库的链接 undefined reference
- Perl 根据w3C日志画出流量折线图
- oracle存储过程概述
- 关于爱情
- Android应用中的核心组件
- mysql优化之EXPLAIN语句
- ffmpeg 静态库使用,undefined reference错误
- MongoDb
- 初探android Gallery and ViewFlipper
- AVR主从通信
- E:Could not open lock file /var/lib/dpkg/lock - open (13:Permission denied) E:Unable to lock th
- Ajax4Jsf 简单介绍
- 由“警告:检测到时钟错误。您的创建可能是不完整的。”引起的!
- 创新工场一道笔试题
- Cobub Razor:开源的移动应用统计分析工具