尝试构建ffmpeg源代码以创建独立库时链接错误

时间:2011-01-11 05:17:59

标签: gcc ffmpeg

我正在尝试使用gcc版本4.4.3在ubuntu 10.1 linux机器上构建ffmpeg源代码。

我有兴趣在ffmpeg.c中使用av_transcode()函数“,所以我已经注释了ffmpeg.c的主要功能。

gcc $(LD_LIBRARY_PATHS)-Wl,-Bsymbolic -Wl,-E -o ffmpeg_g ffmpeg.o cmdutils.o -lavdevice -lavformat -lavcodec -lswscale -lavutil -lz -pthread -lm -lx264 -lm -lasound - lasound -lasound -ldl

我收到以下链接错误

+++++++++++++++++++++++++++++++++++++++++++++++ ++ /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/crt1.o:在函数_start': (.text+0x20): undefined reference to main'中 collect2:ld返回1退出状态 make: * [ffmpeg_g]错误1 ++++++++++++++++++++++++++++++++++++++++++++++++++

在我的MacOS(雪豹)上也观察到相同的行为。

如此简短的问题,如何告诉gcc编译器我正在构建这个源代码来创建库?

1 个答案:

答案 0 :(得分:0)

gcc -shared如果你正在尝试构建一个共享库,否则只需使用ar将编译好的对象捆绑在一起。

但你真的应该阅读How To Write Shared Libraries(PDF)和许多其他文档,这样你才能理解为什么上述有时会在没有-fPIC的情况下失败等等。