Как собрать libvpx как статическую библиотеку

В моем каталоге jni я запускаю следующую команду:

$ ./libvpx/configure --target=armv7-android-gcc --disable-examples --sdk-path=/home/peter/adt/android-ndk-r9/

Это приводит к созданию Android.mk в каталоге libvpx/build/make.

Затем я создаю Android.mk в каталоге jni:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
include libvpx/build/make/Android.mk

Когда я запускаю ndk-build, он создает libvpx.so.

Однако мне очень хотелось бы создать статическую библиотеку.

Я начал все сначала и запустил конфигурацию с дополнительным флагом:

$ ./libvpx/configure --target=armv7-android-gcc --disable-examples --sdk-path=/home/peter/adt/android-ndk-r9/ --enable-static

Однако запуск ndk-build по-прежнему приводит к созданию libvpx.so.

Кто-нибудь знает, как настроить libvpx для создания статической библиотеки? Спасибо заранее за вашу помощь.


person Peter    schedule 12.10.2013    source источник


Ответы (1)


Мне удалось успешно создать статическую библиотеку для рук, хотя я еще не интегрировал ее с приложением для Android, так как я создаю libvpx в качестве компонента для другой собственной библиотеки.

Обратите внимание, что в моем случае файл Android.mk уже существовал в дереве каталогов и не был затронут сценарием настройки, что, по-видимому, противоречит вашему опыту. Чтобы собрать статическую библиотеку, я просто вызвал configure, а затем make:

$ make clean
$ ./configure --target=armv7-android-gcc --disable-examples --sdk-path=/home/me/android-ndk-r9b/
$ make

В моем случае мне пришлось сделать чистую сборку, потому что от более ранней попытки сборки остался кое-какой мусор, который в противном случае сломал бы сборку.

Результатом являются libvpx.a и libvpx_g.a.

person user650881    schedule 05.06.2014