2016-07-19 9 views
0

Ich versuche, ffmpeg 0.6 für ein Projekt, das ich habe, zu bauen. Ich bin mit Ubuntu 16.04 und wenn ich versuche, es zu bauen bekomme ich folgende Fehlermeldung:FFmpeg 0.6 kann nicht auf ubuntu bauen 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 

ich einen ähnlichen Fehler mit ffserver.o Datei konfrontiert, aber ich heruntergeladen diese Dateien hier und es regelte es:

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 

Ich glaube, es ist etwas ähnliches. Hat jemand irgendwelche Ideen? Danke.

+0

Was ist der Grund für den Versuch, eine 6 Jahre alte Version von ffmpeg zu kompilieren? – LordNeckbeard

+0

Wie ich es für mein Dissertationsprojekt gesagt habe. –

Antwort

0

Ok, ich habe eine 0.6 Version auf meinem Ubuntu 16.04 gebaut.

Der Fehler implicit declaration of function bedeutet, dass einige Symbole in einigen Kopfzeilen gefunden werden können, aber diese Kopfzeile ist nicht in dieser Quelldatei enthalten.

Also habe ich versucht, die ff_h263_get_gob_height Funktion Erklärung zu finden:

$ ag ff_h263_get_gob_height 

Und es stellt sich heraus, dass es in "libavcodec/h263.h" deklariert wird. Alles, was Sie tun müssen, ist eine Linie zu libavcodec/vaapi_mpeg4.c hinzufügen:

#include "libavcodec/h263.h" 

Es gibt eine andere ähnliche Fehler sein wird, wenn zu bauen fortgesetzt.

Auch müssen Sie das Projekt mit --enable-pthreads konfigurieren, sonst wird der Linker über einige nervige DSO-Fehler beschweren.