2011-01-11 49 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