Как сделать 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):

  • Нажмите на название вашего проекта в навигаторе проекта (левая панель)
  • Нажмите на свою цель и выберите "Фазы сборки"
  • В разделе "Связать двоичные файлы с библиотеками" нажмите "+" (в конце существующего списка)
  • Нажмите кнопку "Добавить другое.." в всплывающем окне, откроется окно браузера файлов.
  • Найдите и выберите библиотеку, которую хотите добавить, и нажмите "Открыть".
Другие вопросы по тегам