web-dev-qa-db-fra.com

Liaison de bibliothèques dans Xcode

J'utilise un powerbook (osx 10.5) et j'ai récemment téléchargé et installé FFTW 3.2 ( texte du lien ). J'ai pu compiler et exécuter quelques programmes simples basés sur le tutoriel en ligne en utilisant le terminal:

g++ main.cpp -lfftw3 -lm

Cependant, je ne peux pas obtenir le même programme à compiler dans Xcode. J'obtiens une erreur de liaison, "symbole (s) introuvable (s)". Il existe un fichier appelé libfftw3.a dans/usr/local/lib. Comment cela peut-il être lié? De plus, apparemment, les bibliothèques doivent être liées dans un ordre particulier, c'est-à-dire voir: texte du lien

merci pour toute aide

26
Dan

Pour créer un lien vers une bibliothèque .a comme celle-ci dans Xcode, vous devez:

  • Double-cliquez sur votre cible ou application dans Xcode pour ouvrir la fenêtre Info

  • Passer à l'onglet "Build"

  • Ajoutez -lfftw3 à "Autres indicateurs de l'éditeur de liens" (sous "Liens")

  • Ajoutez le chemin d'accès à votre bibliothèque aux "Chemins de recherche de bibliothèque" (sous "Chemins de recherche"). Dans votre cas, ce sera/usr/local/lib

Nous utilisons FFTW (c'est génial d'ailleurs), cela fonctionne pour nous!

41
Bids

Avez-vous défini ces options pour la cible?

Sous "Liaison-> Autres indicateurs de l'éditeur de liens", ajoutez: "-L/chemin/vers/bibliothèque -lfftw3 -lm"

8
robottobor

avertissement dans /Developer/SDKs/MacOSX10.5.sdk/usr/local/lib/libfftw3.a, le fichier n'est pas de l'architecture requise

Peut-être que le format binaire était différent, par exemple la bibliothèque pourrait être 32 bits tandis que l'application 64.

1
Gabor Forgacs