Error with ffmpeg - undefined whole

2019-09-01 01:41发布

问题:

I compiled ffmpeg on clear lubuntu and whiled attaching libs to my project in eclipse I got bunch of errors:

/usr/local/lib//libavformat.a(mov.o): In function `mov_read_sbgp':
/root/ffmpeg/libavformat/mov.c:2039: undefined reference to `av_malloc'
/usr/local/lib//libavformat.a(mov.o): In function `mov_read_dac3':
/root/ffmpeg/libavformat/mov.c:647: undefined reference to `avpriv_ac3_channel_layout_tab'
/usr/local/lib//libavformat.a(mov.o): In function `mov_read_tfhd':
/root/ffmpeg/libavformat/mov.c:2559: undefined reference to `av_log'
/usr/local/lib//libavformat.a(mov.o): In function `mov_read_stts':
/root/ffmpeg/libavformat/mov.c:1908: undefined reference to `av_malloc'
/root/ffmpeg/libavformat/mov.c:1921: undefined reference to `av_log'
/root/ffmpeg/libavformat/mov.c:1925: undefined reference to `av_log'
/usr/local/lib//libavformat.a(mov.o): In function `mov_read_stss':
/root/ffmpeg/libavformat/mov.c:1790: undefined reference to `av_malloc'
/usr/local/lib//libavformat.a(mov.o): In function `mov_read_stsc':
/root/ffmpeg/libavformat/mov.c:1712: undefined reference to `av_malloc'

Its only a part of output..Could somoone help me with that staff? I stucked here, thx.

Also I give u some info about ld --verbose -l avformat:

attempt to open /usr/i686-linux-gnu/lib32/libavformat.so failed
attempt to open /usr/i686-linux-gnu/lib32/libavformat.a failed
attempt to open /usr/local/lib32/libavformat.so failed
attempt to open /usr/local/lib32/libavformat.a failed
attempt to open /lib32/libavformat.so failed
attempt to open /lib32/libavformat.a failed
attempt to open /usr/lib32/libavformat.so failed
attempt to open /usr/lib32/libavformat.a failed
attempt to open /usr/local/lib/i386-linux-gnu/libavformat.so failed
attempt to open /usr/local/lib/i386-linux-gnu/libavformat.a failed
attempt to open /usr/local/lib/libavformat.so failed
attempt to open /usr/local/lib/libavformat.a succeeded
ld: warning: cannot find entry symbol _start; not setting start address

Everything is going to be problem with avutil....all undefined reference comes from files of libavutil. But I have no idea why and what to do.

回答1:

By given help i managed to solve problem so let me share with You. For compilation guid

How to set up ffmpeg for dev

use this linking order:

avdevice
avfilter
postproc
avformat
avcodec
rt
dl
Xfixes
Xext
X11
asound
SDL
vorbisenc
vorbis
theoraenc
theoradec
ogg
opencore-amrwb
opencore-amrnb
z
rt
swresample
swscale
avutil
m
z
swresample
faac
mp3lame
vpx
x264
xvidcore
pthread