Связывание библиотек в Xcode
Я использую powerbook (osx 10.5) и недавно загрузил и установил FTPW 3.2 (текст ссылки). Я смог скомпилировать и запустить некоторые простые программы на основе онлайн-учебника с использованием терминала:
g++ main.cpp -lfftw3 -lm
Однако я не могу получить ту же самую программу для компиляции в Xcode. Я получаю ошибку связывания, "символ не найден". В /usr/local/lib есть файл libfftw3.a. Как это можно связать? Кроме того, очевидно, что библиотеки должны быть связаны в определенном порядке, то есть см. текст ссылки
спасибо за любую помощь
Ответы
Ответ 1
Для связи с .a-библиотекой, подобной этой в Xcode, вам необходимо:
-
Дважды щелкните по вашей цели или приложению в Xcode, чтобы открыть окно "Информация"
-
Перейдите на вкладку "Создать"
-
Добавить -lfftw3 в "Другие флаги компоновщика" (в разделе "Связывание" )
-
Добавьте путь к вашей библиотеке в "Пути поиска библиотеки" (в разделе "Пути поиска" ). В вашем случае это будет /usr/local/lib
Мы используем FFTW (это здорово кстати), это работает для нас!
Ответ 2
Вы задали эти параметры для цели?
В разделе "Связывание- > Другие флаги компоновщика" добавьте: "-L/path/to/library -lfftw3 -lm"
Ответ 3
предупреждение в /Developer/SDKs/MacOSX 10.5.sdk/usr/local/lib/libfftw3.a, файл не имеет требуемой архитектуры
Возможно, бинарный формат был другим, например. библиотека может быть 32 бит, тогда как приложение 64.
Ответ 4
ОК - наконец, я получил эту работу. Я также нуждался в научных библиотеках GNU и столкнулся с аналогичными проблемами с настройкой архитектуры. Для всех, кого это интересует, в этом руководстве рассказывается, как настроить библиотеки Xcode и ссылок:
https://web.archive.org/web/20101006023300/http://www.boyfarrell.com/learning-curve/gnu-scientific-library-and-xcode-31