之前的文章 中: Android FFMPEG编解码实践(一):Ubuntu 22.04 NDK编译FFMPEG+libx264_android编译libx264-CSDN博客 遗留了一个问题,就是使用5.0版本(现在又出了6.0)的ffmpeg无法将x264编译进去,总是报错: ERROR:x264 not found using pkg-config
后来ffmpeg 6.0发布之后,ndk交叉编译了一下,发现仍然会报这个错误,于是决定深入研究一番。
网上查了一番,全是说PKG_CONFIG_PATH的,而我已经指定了,所以网上资料没啥帮助,没办法只能自己分析了(不能偷懒了)。
打开编译日志,找到错误报告:
这就清楚了,红色框是错误类型,蓝色框是错误原因:没有找到pthrea库
为什么找不到:ndk编译环境中将pthread库合并到c库中了。
所以有两种方法解决问题:
1.找到编译脚本中使用-lpthread的地方,将其改成-lc。(这得改多少?果断放弃)
2.到ndk中找到交叉编译工具链,复制一个libc,并重命名为libpthread(这个简单)
贴一下交叉编译工具链的路径
我编译的是api版本是21,所以只改了21里面的内容,建议32位的和64位的都操作一番。