2015-11-02 6 views
1

Я успешно скомпилированным FFmpeg как статическая библиотека для моего проекта с андроидом-платформами 19, указанной в Application.xml, как показано ниже:Как сохранить совместимость при компиляции FFmpeg с андроидом НКА

APP_PLATFORM := android-19 

протестировать свой проект на устройстве (4.4) он работает хорошо. Но это сработает на 4.0 устройствах.

Так что я хотел бы изменил APP_PLATFORM на более низкую версию, как:

APP_PLATFORM := android-17 

Но язь выходит сообщение об ошибке, как это.

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' 

Я знаю, что ссылка log2 не определена из-за отсутствие libm, но, как насколько я вижу, Android будет автоматически ссылаться на libm при создании. http://mobilepearls.com/labs/native-android-api/ndk/docs/STABLE-APIS.html

Как я могу сохранить совместимость при компиляции ffmpeg, чтобы хорошо работать с моим проектом на устройствах с более низкой версией.

ответ

2

Я исправил эту проблему с помощью reComplie ffmpeg с использованием инструментов платформы ndk с более низкой версией.

Затем сохраните ту же версию в Android.mk.

Эти ошибки больше не возникали.