在使用FFmpeg的过程中,运行时出现在这个错误。Error:error: undefined reference to 'posix_memalign'。 上网百度了好多答案,最终找到的问题的原因。
发现是由于android系统一开始并不支持posix,后来增加了对posix的支持。
这个问题出现的主要原因有两个:
1.编译APP的时候指定的APP_PLATFORM 过低
2.编译APP时使用的NDK版本过低
解决方法:
1.检查jni目录下的Application.mk查看APP_PLATFORM
这个APP_PLATFORM一定要和NDK编译ffmpeg的时候使用的版本要高(或者等于)
我这里就是从APP_PLATFORM := android-10 修改到 APP_PLATFORM := android-17
2.检查编译ffmpeg的NDK的版本和APP程序中使用的NDK版本是否一致
我这里是从android-ndk-r9b版本升级到android-ndk-r10e