pkg-config无法在ffmpeg build(linux)上找到库

时间:2018-06-03 03:40:47

标签: android linux ffmpeg cross-compiling pkg-config

我试图在ubuntu上为android构建ffmpeg ...

-I've cross-compiled all the dependencies I need for my configuration
-I've set up the configuration parameters

但./configure一直说

ERROR: librtmp not found using pkg-config

我已经过测试,如果我删除--enable-librtmp,它会配置抱怨其他库。问题是我自己构建了所有库。所以我确定它存在于正确的文件夹中。

我不是linux /编译专家,到目前为止,我已花了超过10天的时间才能完成正确完成此项目所需的一切。我知道我可以在ffmpeg下简单修改配置文件并删除pkg-config检查,但这不是我正在寻找的解决方案

我运行的命令是:

./configure --prefix=$PREFIX \
  --arch=${ARCH}\
    --cpu=${CPU} \
    --cross-prefix=$CROSS_PREFIX \
    --enable-cross-compile \
    --sysroot=$SYSROOT \
    --target-os=linux \
    --sysinclude=$NDK/sysroot/usr/include \
    --pkg-config=$(which pkg-config) \
    --pkg-config-flags="--static" \
    --enable-pic \
    --enable-gpl \
    --enable-nonfree \
    \
    --disable-shared \
    --enable-static \
    \
    --enable-ffmpeg \
    --disable-ffplay \
    --disable-ffprobe \
    \
    --enable-librtmp \
    --enable-zlib \
    --enable-mediacodec \
    --enable-libx264 \
    --enable-libfdk-aac\
    --enable-libfreetype\
    --enable-libmp3lame\
    --enable-openssl\
    --enable-libfontconfig\
    --enable-bsf=aac_adtstoasc \
    \
    --disable-doc \
    $ADDITIONAL_CONFIGURE_FLAG

我想知道pkg-config执行哪些测试来检测是否安装了lib?我怎样才能证明我需要的图书馆真的存在

========= UPDATE =========

${PREFIX}代表build_dir,其中我有一个文件夹lib/pkgconfig,其中有许多.pc文件,包括librtmp.pc。那为什么它可以检测到其他人而不是这个呢?我检查了文件和接缝的内容是否正确,类似于同一文件夹中的其他文件

1 个答案:

答案 0 :(得分:1)

在执行./configure之前尝试此命令

export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"

我安装libx265时遇到了类似的问题。