FFmpeg 0.6无法在ubuntu 16.04上构建

时间:2016-07-19 18:21:26

标签: ubuntu build ffmpeg

我正在尝试为我的项目构建ffmpeg 0.6。我正在使用Ubuntu 16.04,当我尝试构建它时,我收到以下错误:

In file included from libavcodec/mpegvideo.h:32:0,
              from libavcodec/vaapi_internal.h:30,
              from libavcodec/vaapi_mpeg4.c:23:
libavcodec/get_bits.h: In function ‘skip_bits’:
libavcodec/get_bits.h:387:17: warning: variable ‘re_cache’ set but not used [-Wunused-but-set-variable]
       OPEN_READER(re, s)
                   ^ 
libavcodec/get_bits.h:135:13: note: in definition of macro ‘OPEN_READER’
     int name##_cache= 0;\
         ^
libavcodec/vaapi_mpeg4.c: In function ‘vaapi_mpeg4_start_frame’:
libavcodec/vaapi_mpeg4.c:89:73: error: implicit declaration of function ‘ff_h263_get_gob_height’ [-Werror=implicit-function-declaration]
pic_param->num_macroblocks_in_gob           = s->mb_width * ff_h263_get
                                                            ^
cc1: some warnings being treated as errors
common.mak:40: recipe for target 'libavcodec/vaapi_mpeg4.o' failed
make: *** [libavcodec/vaapi_mpeg4.o] Error 1

我遇到了与ffserver.o文件类似的错误,但我在这里下载了这些文件并修复了它:

sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev \
libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev \
libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev

我相信它的相似之处。有人有什么想法? 谢谢。

1 个答案:

答案 0 :(得分:0)

好的,我已经在我的ubuntu 16.04上构建了0.6版本。

错误implicit declaration of function表示某些标题中可以找到某个符号,但该源文件中不包含此标题。

因此我尝试找到ff_h263_get_gob_height函数声明:

$ ag ff_h263_get_gob_height

事实证明它在" libavcodec / h263.h"中声明。您需要做的就是在libavcodec/vaapi_mpeg4.c添加一行:

#include "libavcodec/h263.h"

继续构建时会出现另一个类似的错误。

此外,您必须使用--enable-pthreads配置项目,否则链接器会抱怨一些恼人的DSO错误。