2016-08-25 14 views
0

(注:タイトルはthis questionとほとんど同じですが、私のシステムでビルドしている場合にのみ適用できます。ffmpegのクロスコンパイル:libvpxデコーダのバージョンは、> = 0.9.1でなければなりません

アームデバイスでターゲットとするクロスコンパイルFFmpegライブラリをビルドしようとしていますが、./configureコマンドでlibvpxが古くなっていることがわかります。次のように

libvpxの私のバージョンは次のとおりです。

$ pkg-config --modversion vorbis 
1.3.2 

私は私のvpx.pcファイルは/usr/share/pkgconfigに位置して./configureを

$ ./configure --prefix=/home/test/Dev/build-arm/ffmpeg-armhf/ --enable-cross-compile --cross-prefix=${CCPREFIX} --arch=armhf --target-os=linux --pkg-config-flags="--libs vpx --static --cflags" --enable-shared --enable-libvpx 
ERROR: libvpx decoder version must be >=0.9.1 

If you think configure made a mistake, make sure you are using the latest 
version from Git. If the latest version fails, report the problem to the 
[email protected] mailing list or IRC#ffmpeg on irc.freenode.net. 
Include the log file "config.log" produced by configure as this will help 
solve the problem. 

を実行すると。それは別のターゲット(腕)のため、私はこのファイルを別の場所に置くべきですか?

(...lots of text...) 
arm-openwrt-linux-gnueabi-gcc -Werror=missing-prototypes -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -march=armv7-a -std=c99 -fomit-frame-pointer -marm -fPIC -pthread -c -o /tmp/ffconf.cZcBLWc3.o /tmp/ffconf.sWjTIULb.m 
arm-openwrt-linux-gnueabi-gcc: /tmp/ffconf.sWjTIULb.m: Objective-C compiler not installed on this system 
check_pkg_config vpx >= 0.9.1 vpx/vpx_decoder.h vpx/vp8dx.h vpx_codec_vp8_dx 
false --exists --print-errors vpx >= 0.9.1 
check_lib2 vpx/vpx_decoder.h vpx/vp8dx.h vpx_codec_dec_init_ver -lvpx 
check_func_headers vpx/vpx_decoder.h vpx/vp8dx.h vpx_codec_dec_init_ver -lvpx 
check_ld cc -lvpx 
check_cc 
BEGIN /tmp/ffconf.gM9G9FSQ.c 
    1 #include <vpx/vpx_decoder.h> 
    2 #include <vpx/vp8dx.h> 
    3 long check_vpx_codec_dec_init_ver(void) { return (long) vpx_codec_dec_init_ver; } 
    4 int main(void) { return 0; } 
END /tmp/ffconf.gM9G9FSQ.c 
arm-openwrt-linux-gnueabi-gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -march=armv7-a -std=c99 -fomit-frame-pointer -marm -fPIC -pthread -c -o /tmp/ffconf.cZcBLWc3.o /tmp/ffconf.gM9G9FSQ.c 
/tmp/ffconf.gM9G9FSQ.c:1:29: fatal error: vpx/vpx_decoder.h: No such file or directory 
compilation terminated. 
ERROR: libvpx decoder version must be >=0.9.1 

含めるとライブラリパスがコンパイラに提供されていないように見えますが、私は私の周りに行くべきかわからない:私はこれを見る私のconfig.logの中

# pkg-config file from libvpx v1.6.0-322-gc325fb7 
prefix=/home/test/Dev/build-arm/libvpx 
exec_prefix=${prefix} 
libdir=${prefix}/lib 
includedir=${prefix}/include 

Name: vpx 
Description: WebM Project VPx codec implementation 
Version: 1.6.0 
Requires: 
Conflicts: 
Libs: -L${libdir} -lvpx -lm 
Libs.private: -lm -lpthread 
Cflags: -I${includedir} 

それを解決する。 いくつかのガイダンスを提供できるのであれば、本当に感謝しています。

+0

...これはデッドエンドだと思いますか? – bot1131357

答えて

1

見つけました。

マイライブラリが

/home/test/Dev/build-arm/libvpx/lib 

に位置しかし、PKG-config設定を照会することは

$ arm-openwrt-linux-gnueabi-pkg-config --libs vpx 
-L/home/test/Dev/build-arm/home/test/Dev/build-arm/libvpx/lib -lvpx 

を与えているが、私の腕OpenWrtの-のlinux-gnueabi-PKG-configスクリプトが間違っていたことが判明します。

#!/bin/sh 

SYSROOT=/home/test/Dev/build-arm 
export PKG_CONFIG_LIBDIR=${SYSROOT}/pkgconfig 
export PKG_CONFIG_SYSROOT_DIR=${SYSROOT} 

exec pkg-config "[email protected]" 

これは正しいバージョンで、今すぐ動作します。

#!/bin/sh 

SYSROOT=/home/test/Dev/build-arm 
export PKG_CONFIG_LIBDIR=${SYSROOT}/pkgconfig 
export PKG_CONFIG_SYSROOT_DIR= 

exec pkg-config "[email protected]" 

リラックスしfurq(#ffmpegのirc.freenode.net)

0

からの助けのおかげであなたはffmpegのを作るためのライブラリを構築している場合は、libvpxのように、あなたがそれらをインストールした後sudo ldconfigを実行するために覚えているとあなたがffmpegでconfigureを試す前に。

http://www.frasq.org/en/transcoding-an-audio-or-a-video-fileを参照してください。

関連する問題