Я хочу использовать библиотеку 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?