我试图在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
。那为什么它可以检测到其他人而不是这个呢?我检查了文件和接缝的内容是否正确,类似于同一文件夹中的其他文件
答案 0 :(得分:1)
在执行./configure之前尝试此命令
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
我安装libx265时遇到了类似的问题。