我从git下载了ffmpeg,并按来源制作了libs。按如下所示创建main.c并将ffmpeg库放在与main.c相同的文件夹中(我的系统是ubuntu 15.10,gcc版本5.2.1)
#include <stdio.h>
void av_register_all(void);
int main() {
printf("abc\n");
av_register_all();
return 0;
}
在我发布gcc main.c -L. -lavformat -lswscale -lavcodec -lswscale -lavutil -lavdevice -lavfilter
之后,我收到了很多(近1000个)未定义的引用错误:
...
/home/arton/sources/ffmpeg/libavcodec/vorbisdec.c:868: undefined reference to `atan'
/home/arton/sources/ffmpeg/libavcodec/vorbisdec.c:868: undefined reference to `atan'
/home/arton/sources/ffmpeg/libavcodec/vorbisdec.c:869: undefined reference to `atan'
/home/arton/sources/ffmpeg/libavcodec/vorbisdec.c:869: undefined reference to `atan'
/home/arton/sources/ffmpeg/libavcodec/vorbisdec.c:869: undefined reference to `floor'
...
/ home / arton / sources是ffmpeg的来源,我不知道它为什么报告ffmpeg的源路径以及链接失败的原因。任何提示都表示赞赏。谢谢!