求ffmpeg有关libavformat,libavcodec等静态库的使用
程序很简单
#include "libavformat/avformat.h"
int main()
{
av_register_all();
return 0;
}
编译命令:
gcc testc.c -L/usr/local/src/ffmpeg-install-program/lib libavformat.a -I/usr/local/src/ffmpeg-install-program/include/ -o test
然后会出现一连串的错误
/usr/local/src/ffmpeg-0.5/libavformat/udp.c:161: undefined reference to `av_log'
libavformat.a(udp.o): In function `udp_open':
/usr/local/src/ffmpeg-0.5/libavformat/udp.c:360: undefined reference to `av_mallocz'
libavformat.a(udp.o): In function `udp_socket_create':
/usr/local/src/ffmpeg-0.5/libavformat/udp.c:206: undefined reference to `av_log'
libavformat.a(udp.o): In function `udp_port':
/usr/local/src/ffmpeg-0.5/libavformat/udp.c:232: undefined reference to `av_log'
libavformat.a(udp.o): In function `udp_open':
/usr/local/src/ffmpeg-0.5/libavformat/udp.c:456: undefined reference to `av_free'
libavformat.a(udp.o): In function `udp_join_multicast_group':
/usr/local/src/ffmpeg-0.5/libavformat/udp.c:106: undefined reference to `av_log'
libavformat.a(udp.o): In function `udp_open':
/usr/local/src/ffmpeg-0.5/libavformat/udp.c:445: undefined reference to `av_log'
。。。。
等等,这是什么错误,是静态库的问题?ffmpeg的开发静态库是怎么得到的,我通过编译ffmpeg得到的
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
应该是你的库没有包含完全! 你可以看看都有哪些静态库~
回复 2# 1jjk
还是一样呀,能不能把您从生成libavformat.a到编译成功的步骤说一说呀,呵呵,整得太纠结了
可是我指定的库的路径是那个ffmpeg的安装路径呀,应该都有了吧?
回复 4# 洞庭飞鸿
你如果编译没出问题的话,应该是看看链接库文件在哪了?
回复 5# 洞庭飞鸿
如果make install 的话,有些库被复制到 /usr/lib 或者 /usr/local/lib 吧
我的./configure的时候指定路径了,--prefix,make install还会复制过去吗?
吧你编译出来以后的几个.a列一下
ls /usr/local/src/ffmpeg-install-program/lib
回复 9# 1jjk
libavcodec.a libavformat.a libavutil.a
gcc testc.c -I/usr/local/src/ffmpeg-install-program/include/ -o test -L/usr/local/src/ffmpeg-install-program/lib /usr/local/src/ffmpeg-install-program/lib /libavformat.a