Я хочу использовать библиотеку ASSIMP http://assimp.sourceforge.net в проекте iOS. К сожалению, я не очень разбираюсь в make файлах и т.д., Поэтому мне нужна помощь.
Я загрузил исходники и сначала попытался построить с make (в подкаталоге code)
В make файле я добавил INCLUDEFLAGS = -I/Lib
, потому что мои заголовочные файлы boost находятся в /Lib/boost
Выполнение make static
выполняется с некоторыми предупреждениями. Создается статическая библиотека (.a).
Затем я попытался добавить .a файл в свой xcode-проект и указал папку заголовка assimp в качестве дополнительного каталога include (Другие пути поиска). Ошибка связи с сообщением о том, что библиотека не имеет правильной архитектуры (i386 требуется для симулятора)
file libassimp.a
выходы: "libassimp.a: текущая архивная случайная библиотека"
Как я могу построить библиотеку для архитектуры i386 и для arm6 или arm7, что мне нужно на устройстве iOS?
Можно ли использовать только заголовки boost-заголовков или лучше/необходимо создавать boost как библиотеку? В настоящее время я использую только заголовки boost, что должно быть хорошо, поскольку boost - это только библиотека заголовков?!
Существует также файл cmake-makefile (CMakeLists.txt). cmake - это рекомендуемый способ создания библиотеки, но у меня нет опыта работы с cmake.
Или другая мысль: возможно ли построить библиотеку через xcode? Конечным результатом должна стать библиотека для архитектуры i386, arm6 и arm7.
Что мне делать? И как?
Edit:
Я только что обнаружил, что в файле 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?