Включение динамической библиотеки в проект Xcode 4 - PullRequest
1 голос
/ 28 марта 2011

Прошу прощения за основной вопрос. Я искал высокий минимум для простого ответа, но до сих пор мне это не удавалось, поэтому я надеюсь, что это поможет другим начинающим программистам.

Я установил MacPorts, а затем установил внешнюю библиотеку, которая мне нужна: ImageMagick. Из моего исследования я знаю, что MacPorts поместил dylibs в папку /opt/local/lib/: image . Я также знаю, что файлы заголовков находятся в папке /opt/local/include/ImageMagick/.

Я подумал, что начну с примера программы , чтобы посмотреть, как она работает. Я создал новый проект, инструмент командной строки C, а затем скопировал первый пример в main.c. Теперь я хочу добавить библиотеки ImageMagick в свой проект.

Как мне тогда связать файлы с моим проектом Xcode, чтобы #include <wand/MagickWand.h> работал?

1 Ответ

2 голосов
/ 06 апреля 2011

У меня похожие проблемы с внешними библиотеками в проектах iPad.Кажется, не может порадовать как симулятор, так и сборки устройства.Однако для вашего теста вы можете попробовать следующее:

  1. В навигаторе проекта выберите ваш проект.Должен быть самым верхним элементом.
  2. В области сведений в самом верху вы должны увидеть список ярлыков вкладок, выберите вкладку "Настройки сборки".
  3. Прокрутите вниз, пока не найдете "LLVM GCC 4.2 - Язык "section.
  4. Найдите" Другие флаги C "и при необходимости раскройте их.Вы увидите два подпункта Debug и Release.
  5. Пока просто измените элемент Debug и директиву include path, например -

    I/opt/local/include/ImageMagick
    

Вышепозволит компилировать ваш код, но теперь вам нужно будет получить его по ссылке.Вам нужно будет добавить дополнительную опцию ссылки.

  1. В панели настроек сборки найдите раздел «Связывание».
  2. В разделе «Связывание» найдите «Другие флаги компоновщика».и разверните его, если необходимо.
  3. А пока измените подпункт «Отладка».Есть несколько способов добавить желаемую библиотеку:

    С помощью пути поиска библиотеки и директивы библиотеки следующим образом

    -L/opt/local/lib -lImageMagic
    

    С полным путем к библиотеке

    /opt/local/lib/libImageMagic.dylib  (note sure that is the actual file name)
    

Эти изменения работали для меня, по крайней мере, до тех пор, пока я не найду настоящий способ XCode 4 сделать это.Это далеко неуклюже, чтобы быть правильным подходом.Надеюсь, кое-кто понял это правильно.

...