2015-11-02 100 views
1

我已經成功地編譯的ffmpeg作爲我與Android平臺的19項目的靜態庫,Application.xml中規定如下編譯ffmpeg的時候:如何保持兼容性與Android NDK

APP_PLATFORM := android-19 

測試我的項目在設備上(4.4),它運行良好。但它會在4.0設備上崩潰。

所以我想改變APP_PLATFORM低版本,如:

APP_PLATFORM := android-17 

但是IDE出來這樣的錯誤。

libavcodec/ffv1enc.c:631: error: undefined reference to 'log2' 

而且當我把它改成一個更加低版本:

APP_PLATFORM := android-8 

更多錯誤發生:

libavcodec/ffv1enc.c:631: error: undefined reference to 'log2' 
libavutil/mem.c:94: error: undefined reference to 'posix_memalign' 

我知道的log 2基準是不確定的,因爲失蹤的libm,但作爲就我所見,Android會在建立時自動鏈接到libm。 http://mobilepearls.com/labs/native-android-api/ndk/docs/STABLE-APIS.html

因此,如何在編譯ffmpeg時保持兼容性,以便在較低版本的設備上良好運行我的項目。

回答

2

我已經通過reComplie ffmpeg與較低版本的ndk平臺工具解決了此問題。

然後在Android.mk中保持相同的版本。

這些錯誤不再發生。