Как сделать libtiff для проекта Xcode и приложения для iOS?
Я искал вверх и вниз по стеку и Google, чтобы найти правильный способ компиляции и добавления libtiff
библиотека для моего существующего проекта iOS в Xcode.
Что я сделал до сих пор:
РЕДАКТИРОВАТЬ:
Я загрузил libtiff на свой Mac после того, как решил следовать этому совету по stackru. Я использовал версию 3.9.6 и собрал ее, как в этом уроке, и его продолжение о SDK5. Там в комментариях я нашел скрипт, который мог адаптировать. Я добавил получившуюся папку "зависимости" в свой проект rakmoh, почти как предложил rakmoh.
Тем не менее, я получил ошибки компоновщика, как только я #include tiffio.h
:
Undefined symbols for architecture armv7: "_inflateEnd", referenced from:
_PixarLogCleanup in libtiff.a(tif_pixarlog.o)
_ZIPSetupEncode in libtiff.a(tif_zip.o)
.
... some more...
.
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Я также попробовал новейшую версию libtiff
, но это ничего не изменило, поэтому я вернулся к 3.9.6, так как он совместим с другими программами в проекте. Затем я спросил коллегу, который узнал, что это был libz
библиотека отсутствует. Из файлов журнала он увидел, что это должно быть там во время компиляции libtiff
и это все еще отсутствовало для компоновщика в моем проекте XCode. И вот! Когда я добавил его в рамки (с небольшим знаком + и просматривать список для libz.dylib
), мой пустой тестовый проект скомпилирован.
Прежде чем написать ответ, я хотел бы провести еще несколько тестов, но я уже обновил успешный сценарий оболочки до pastebin.
Спасибо за помощь!
2 ответа
Я вставил скрипт bash, который кросс-компилируется libtiff
версия 3.9.6 на Mac для iOS 6.1 для использования на устройствах и в симуляторе. Вам придется адаптировать его к вашим потребностям. Также см. Этот урок для подсказок. Это создает толстую библиотеку для обеих целей компиляции.
rakmoh тоже правильный, но только часть решения. Вы добавляете папку с толстой библиотекой в диалог "Добавить другое...", который он предлагает.
Затем вы также добавляете libz.dylib! После этого я мог бы использовать libtiff
в моем приложении на моем устройстве и на симуляторе.
Вот шаги для добавления библиотеки в ваш проект iOS в XCode 4.6.2 (должно быть аналогично в старых версиях XCode):
- Нажмите на название вашего проекта в навигаторе проекта (левая панель)
- Нажмите на свою цель и выберите "Фазы сборки"
- В разделе "Связать двоичные файлы с библиотеками" нажмите "+" (в конце существующего списка)
- Нажмите кнопку "Добавить другое.." в всплывающем окне, откроется окно браузера файлов.
- Найдите и выберите библиотеку, которую хотите добавить, и нажмите "Открыть".