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,謝謝!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM