Связывание библиотек в Xcode - PullRequest
25 голосов
/ 15 января 2009

Я использую powerbook (osx 10.5) и недавно скачал и установил FFTW 3.2 ( текст ссылки ). Я смог скомпилировать и запустить несколько простых программ на основе онлайн-учебника с помощью терминала:

g++ main.cpp -lfftw3 -lm

Однако я не могу заставить ту же самую программу компилироваться в XCode. Я получаю сообщение об ошибке "Символ (ы) не найден". В каталоге / usr / local / lib есть файл libfftw3.a. Как это может быть связано? Кроме того, очевидно, что библиотеки должны быть связаны в определенном порядке, т.е. см .: текст ссылки

спасибо за любую помощь

Ответы [ 4 ]

40 голосов
/ 16 января 2009

Для ссылки на библиотеку .a, как это в Xcode, вам нужно:

  • Дважды щелкните по своей цели или приложению в Xcode, чтобы открыть окно информации

  • Перейти на вкладку «Сборка»

  • Добавить -lfftw3 к "Другие флаги компоновщика" (в разделе "Связывание")

  • Добавьте путь к вашей библиотеке в «Пути поиска в библиотеке» (в разделе «Пути поиска»). В вашем случае это будет / usr / local / lib

Мы используем FFTW (это, кстати, здорово), у нас это работает!

8 голосов
/ 15 января 2009

Вы установили эти параметры для цели?

Под "Linking-> Другие флаги компоновщика" добавьте: "-L / path / to / library -lfftw3 -lm"

1 голос
/ 25 января 2011

предупреждение в /Developer/SDKs/MacOSX10.5.sdk/usr/local/lib/libfftw3.a, файл не имеет необходимой архитектуры

Может быть, двоичный формат был другим, например библиотека может быть 32-битной, а приложение - 64.

0 голосов
/ 19 января 2009

ОК - наконец-то я заработал. Я также нуждался в научных библиотеках GNU и столкнулся с похожими проблемами в настройке архитектуры. Для тех, кто заинтересован, в этом руководстве рассказывается, как настроить библиотеки Xcode и ссылки:

https://web.archive.org/web/20101006023300/http://www.boyfarrell.com/learning-curve/gnu-scientific-library-and-xcode-31

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...