一般来说ffmpeg-n4.3.8编译找不到x265路径,我们经过设置
export PKG_CONFIG_PATH=/shares/arm_project/JLink/thirdpart/lib/pkgconfig
即可找到,但有时进行交叉编译设置交叉编译工具链以后,ffmpeg即使设置了export PKG_CONFIG_PATH可能也无法找到。
这时,我们在configure中设置set -x跟踪发现
这里test_cmd false --exists --print-errors x265,这个查找命令,false得位置应该时pkg-config才对
经过往上面查看,ffmpeg使用得pkg-config配置使用得时交叉编译链里面得pkg-config,由于我们设置了--cross-prefix=/shares/host/bin/aarch64-buildroot-linux-gnu-
直接就变成了/shares/host/bin/aarch64-buildroot-linux-gnu-pkg-config,但交叉编译链里面得为pkg-config,所以我们需要直接设置这个,并配合export使用
#!/bin/bash
export PKG_CONFIG_PATH=/shares/arm_project/JLink/thirdpart/lib/pkgconfig:$PKG_CONFIG_PATH
# 设置编译工具链路径和输出路径
TOOLCHAIN_PATH="/shares/host/bin"
OUTPUT_PATH="/shares/arm_project/JLink/thirdpart"
SYSROOT_PATH=
./configure \
--prefix="${OUTPUT_PATH}" \
--enable-cross-compile \
--target-os=linux \
--arch=aarch64 \
--cross-prefix=/shares/host/bin/aarch64-buildroot-linux-gnu- \
--pkg-config=${TOOLCHAIN_PATH}/pkg-config \
--pkg-config-flags="--static" \
--enable-shared \
--enable-static \
--enable-nonfree \
--enable-gpl \
--enable-libx264 \
--enable-libx265 \
--enable-debug \
--disable-programs \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-stripping
由于使用得是交叉编译链得pkg-config,前面加上了sysroot得路径,直接x264 x265生成得文件挪到对应得目录下就可以编译了