web-dev-qa-db-fra.com

Comment inclure la bibliothèque C nécessaire en utilisant gcc?

J'essaie de compiler l'exemple C simple de ce Tutorial sur Ubuntu en utilisant gcc. Que dois-je utiliser comme argument pour que gcc inclue les bibliothèques nécessaires pour #include <libappindicator/app-indicator.h>?

15
multiholle

Si vous avez utilisé apt-get, Synaptic Package Manager, etc. pour obtenir la bibliothèque appindicator (par rapport à sa création à partir de la source), avez-vous uniquement installé la libappindicator1 package ou avez-vous aussi installé libappindicator-dev pour obtenir les fichiers d'en-tête libappindicator? Les packages Linux ont très souvent séparé les bibliothèques d'exécution des en-têtes de compilation. De cette façon, les personnes qui n'ont besoin que des bibliothèques pour satisfaire un lien dynamique n'ont pas à installer des en-têtes inutiles. Mais comme vous faites du développement, vous avez besoin de ces en-têtes et donc du libappindicator-dev package également.

5
QuantumMechanic
-I <searchpath to include files>
-L <searchpath to the lib file>
-l<thelibname>
52
Kristofer

Utilisez le -l option de ligne de commande. Vous pouvez spécifier le chemin de recherche de la bibliothèque avec le -L option. Par exemple:

gcc -o myprogram -lfoo -L/home/me/foo/lib myprogram.c

Cela liera myprogram à la bibliothèque statique libfoo.a dans le dossier /home/me/foo/lib.

13
Vijay Mathew
gcc example.c -o example  `pkg-config --cflags --libs appindicator-0.1`

pkg-config récupérera les drapeaux include et lib requis pour libappindicator et ses dépendances. Cela suppose libappindictaor-dev le package est déjà installé.

5
lijo

Ce que je fais c'est:

pkg-config --list-all | grep indicator
4
hytromo

Ce que vous essayez de faire ici est de créer une application gtk, les solutions ci-dessus sont applicables partout, comme l'utilisation de l'option -l et de l'option -I,

Cependant, pour les applications GTK, vous pouvez également utiliser pkg-config, ce qui facilite la tâche car vos chemins peuvent être prédéfinis

http://www.freedesktop.org/wiki/Software/pkg-config

Un exemple intéressant peut être trouvé ici http://developer.gnome.org/gtk/2.24/gtk-compiling.html

1
manugupt1