Возможно ли использование кросс-платформенной статической библиотеки .a на iOS и Android? (как насчет .so и .dylib?) - PullRequest
3 голосов
/ 12 августа 2011

Я создал статическую библиотеку (с расширением .a) для iOS с Xcode. Это были мои настройки сборки:

  • Архитектура: armv6, armv7
  • Базовый SDK: iOS 4.3
  • Только для активной архитектуры: нет
  • Поддерживаемые платформы: iphoneos, iphonesimulator
  • Действительные архитектуры: armv6, armv7

Чек с lipo -info libassimp.a утверждает: Архитектура в толстом файле: libassimp.a: armv6 armv7

Могу ли я использовать эту статическую .a-библиотеку в проекте Android NDK? Нужно ли добавлять поддерживаемые платформы? Или я должен построить его отдельно на Android?

Кроме того, мне нужен libz.dylib, который является предустановленной библиотекой на iOS - на самом деле libassimp.a нужен libz.dylib. Это также доступно на Android, и можно ли будет использовать libassimp.a без изменений на Android в этом случае?

1 Ответ

2 голосов
/ 12 марта 2012

Вам необходимо отдельно скомпилировать библиотеку для платформы Android.Простой пример компиляции исходных текстов C-C ++ для платформы Android приведен по ссылке ниже

http://tariqzubairy.wordpress.com/2012/03/09/arm-binaries-static-library-for-android/

Для использования уже готовой версии любой библиотеки на Android вам просто нужнодобавьте локальный модуль в файл Android.mk, как указано в ссылке ниже

http://tariqzubairy.wordpress.com/2012/03/12/use-of-prebuild-static-library-compiled-with-android-toolchain/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...