Как собрать библиотеку ASSIMP для iOS (устройство и симулятор) с помощью boost-библиотеки?

Я хочу использовать библиотеку ASSIMP http://assimp.sourceforge.net в проекте iOS. К сожалению, я не очень разбираюсь в make-файлах и тому подобном, поэтому мне нужна помощь.

Я загрузил исходные коды и сначала попытался собрать с помощью make (в подпапке code-code) В make-файле я добавил INCLUDEFLAGS = -I / Lib , потому что мои заголовочные файлы boost находятся в / Lib / boost Выполнение make static завершается успешно с некоторыми предупреждениями. Создается статическая библиотека (.a).

Затем я попытался добавить .a-файл в свой проект xcode и указал папку заголовка assimp в качестве дополнительного каталога включения (другие пути поиска). Ошибка связывания с сообщением о том, что библиотека имеет неправильную архитектуру (для симулятора требуется i386)

файл libassimp.a выводит: «libassimp.a: текущая архивная случайная библиотека ar»

Как я могу построить библиотека для архитектуры i386 и для arm6 или arm7, все, что мне нужно на устройстве iOS?

Можно ли использовать только заголовки boost или лучше / необходимо создавать boost как библиотеку? В настоящее время я использую только заголовки boost, что должно быть нормально, поскольку boost - это библиотека только заголовков ?!

Также есть cmake-makefile (CMakeLists.txt). cmake - рекомендуемый способ создания библиотеки, но у меня нет опыта работы с cmake.

Или другая мысль: можно ли создать библиотеку с помощью xcode?Конечным результатом должна быть библиотека для архитектуры i386, arm6 и arm7.

Что мне делать? И как?


Изменить:

Я только что обнаружил, что в файле aiDefines.h есть следующие проверки препроцессора:

#if defined(_MSC_VER)
    // See http://msdn.microsoft.com/en-us/library/b0084kay.
#   if defined(_M_IX86)
#       define ASSIMP_BUILD_X86_32BIT_ARCHITECTURE
#   elif defined(_M_X64)
#       define ASSIMP_BUILD_X86_64BIT_ARCHITECTURE
#   elif defined(_M_IA64)
#       define ASSIMP_BUILD_IA_64BIT_ARCHITECTURE
#   else
#       error unknown architecture
#   endif
#elif defined(__GNUC__)
    // See http://gcc.gnu.org/onlinedocs/cpp/Predefined-Macros.html.
#   if defined(__x86_32__) || defined(__i386__)
#       define ASSIMP_BUILD_X86_32BIT_ARCHITECTURE
#   elif defined(__x86_64__)
#       define ASSIMP_BUILD_X86_64BIT_ARCHITECTURE
#   elif defined(__ppc__)
#       define ASSIMP_BUILD_PPC_32BIT_ARCHITECTURE
#   else
#       error unknown architecture
#   endif
#else
#   error unknown compiler
#endif

Означает ли это, что невозможно скомпилировать Библиотека ASSIMP для архитектуры ARM?

11
задан j00hi 15 July 2011 в 15:16
поделиться