我需要安装具有libx264支持的ffmpeg来启用H.264编码。我使用以下脚本以及android-ndk-r9d中可用的工具链成功安装了libx264。

 #!/bin/bash
 NDK=~/android-ndk-r9d
 SYSROOT=$NDK/platforms/android-8/arch-arm/
 TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64
 function build_one
 {
 ./configure \
 --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
 --sysroot="$SYSROOT" \
 --host=arm-linux \
 --enable-pic \
 --enable-shared \
 --disable-cli
 make clean
 make
 make install
 }
 build_one

现在我想用libx264支持构建ffmpeg。我将以下脚本与--enable-libx264,--enable-nonfree和--enable-gpl选项一起使用,如以下脚本中所示。
#!/bin/bash
NDK=~/android-ndk-r9d
SYSROOT=$NDK/platforms/android-8/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64
function build_one
{
./configure \
--prefix=$PREFIX \
--enable-shared \
--enable-nonfree \
--enable-gpl \
--enable-libx264 \
--disable-doc \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-avdevice \
--disable-doc \
--disable-symver \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--target-os=linux \
--arch=arm \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
}
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"
build_one

但是,当我运行脚本时,出现错误“错误:找不到libx264”。

我想ffmpeg无法找出libx264的安装位置。安装libx264后,我在/usr/local/lib可执行文件中的libx264.so文件位于/usr/local/bin中,而头文件位于/usr/local/include目录中。

为了使ffmpeg构建脚本能够检测到libx264,我需要对其进行哪些更改?

注意:我正在使用Ubuntu 12.04(64位)进行交叉编译。

最佳答案

确保$ ADDI_CFLAGS变量(您在--extra-cflags中传递)包括-I /usr/local/include

10-08 13:58