我正在尝试在 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 做了哪些测试来检测是否安装了任何库?以及如何向它显示我需要的库确实存在
=========更新=========
${PREFIX}
代表 build_dir
,在该目录下我有一个文件夹 lib/pkgconfig
包含许多 .pc 文件,包括 librtmp.pc
。那么为什么它可以检测到其他人而不是这个呢?我检查了文件的内容和接缝是正确的,与同一文件夹中的其他内容相似
最佳答案
在执行 ./configure 之前尝试此命令
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
我在安装 libx265 时遇到了类似的问题。
关于android - pkg-config 无法在 ffmpeg build (linux) 上找到库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50663067/