cmd10

导航

Android APP使用NDK编译后的ffmpeg库出现undefined reference to 'posix_memalign'错误

在android程序中使用NDK编译后的ffmpeg库的时候出现了如下错误:

jni/libs/libavutil.a(mem.o): in function av_malloc:libavutil/mem.c:95: 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

 

Command

2015.10.27

转载请说明出处:http://www.cnblogs.com/cmd10/p/4915360.html,谢谢!

 

posted on 2015-10-27 20:00  cmd10  阅读(4244)  评论(3编辑  收藏  举报