Шаг 1) Сборка статических библиотек.
Статически я создал сторонние библиотеки для iPhone. После небольшого количества проб и ошибок вот что я нашел хорошей отправной точкой:
Кросс-компиляция для iPhoneOS:
. / Configure --prefix = / path / to / project / external / iphoneos / --host = "arm-apple-darwin9" --target = arm-apple-darwin9 --enable-static --disable- общая CC = / Разработчик / Платформы / iPhoneOS.platform / Разработчик / usr / bin / arm-apple-darwin9-gcc-4.0.1 CFLAGS = "- isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0 .sdk "CPP = / Разработчик / Платформы / iPhoneOS.platform / Разработчик / usr / bin / cpp
делать
сделать установку
Кросс-компиляция для iPhoneSimulator:
. / Configure --prefix = / path / to / project / external / iphonesimulator --enable-static = да --enable-shared = нет CC = / Разработчик / Платформы / iPhoneSimulator.platform / Разработчик / usr / bin /gcc-4.0 CFLAGS = "- arch i686 -pipe -mdynamic-no-pic -std = c99 -Wno-триграфы -fpascal-strings -fasm-blocks -O0 -Wreturn-type -Wunused-variable -fmessage-length = 0 -fvisibility = скрыто -mmacosx-version-min = 10,5 -I / Разработчик / Платформы / iPhoneSimulator.platform / Разработчик / SDKs / iPhoneSimulator3.0.sdk / usr / include / -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/ SDKs / iPhoneSimulator3.0.sdk "CPP = / Разработчик / Платформы / iPhoneSimulator.platform / Разработчик / usr / bin / cpp AR = / Разработчик / Платформы / iPhoneSimulator.platform / Разработчик / usr / bin / ar LDFLAGS =" - arch i686 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk -Wl, -dead_strip -mmacosx-version-min = 10,5 "
делать
сделать установку
Однако это действительно только отправная точка. Вероятно, это будет работать только для проектов с гибкими Makefiles. Если вышеупомянутое не работает, я должен был:
- включить специфичные для проекта ./configure flags
- изменить скрипт настройки
- изменить сгенерированный Makefile
- изменить сценарии автоматической настройки
Вы также можете включить флаги оптимизации для версии iPhoneOS (после того, как она заработала первой).
Шаг 2) Добавьте библиотеки в путь поиска вашего проекта.
В настройках Info вашего проекта установите следующие параметры сборки:
Пути поиска в заголовке: "$ (SRCROOT) / external / $ (PLATFORM_NAME) / include"
Пути поиска в библиотеке: "$ (SRCROOT) / external / $ (PLATFORM_NAME) / lib"
Другие флаги компоновщика: [Добавьте флаги для ваших статических библиотек]
После этого вы сможете включать сторонние библиотеки в ваш проект.