2011-01-11 29 views
0

我试图建立在Ubuntu ffmpeg的源代码的linux 10.1机器gcc版本4.4.3。链接错误,而试图建立ffmpeg的源代码,以使独立的库

我很感兴趣,在ffmpeg.c可用”使av_transcode()函数,所以我注释掉ffmpeg.c的主要功能。

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

我得到以下链接错误

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

同样的行为被发现在我的MacOS(雪豹)为好。

所以把这个问题总之,我怎么能告诉我建立这个源代码,使图书馆gcc编译器?

回答

0

gcc -shared如果您正在尝试构建共享库,那么只需使用ar将编译的对象捆绑在一起即可。

但是你真的应该去阅读How To Write Shared Libraries(PDF)和许多其他文档,以便你明白为什么上述有时会失败,没有-fPIC等等。

+0

谢谢,该文件有助于理解图书馆的创作。 – user570794 2011-01-12 11:31:29