-
Petit souci d'include
Bonjour à tous,
Je débute en c et j'ai une question liée à la notion d'include.
D'après mes recherches l'utilisation de chevrons est liée à l'utilisation de bibliothèques standard, par ex :
Et l'utilisation de guillemets est utilisée pour les bibliothèques non standard par exemple une lib externe, par ex :
Seul souci, j'ai récemment voulu utiliser une lib c, et celle-ci utilise les chevrons en interne pour importer tout le code composant la lib. J'imagine donc qu'il y a une subtilité liée aux include qui m'échappe :)
Même dans mon main.c ils expliquent qu'il faut importer la lib de cette manière :
Code:
#include <ft2build.h>
J'utilise XCode et je ne peux pas compiler mon code (il m'affiche "no such file or directory") à moins de remplacer les chevrons par des guillemets :
Code:
#include "ft2build.h"
Forcément, je récupère des erreurs en cascade provenant du code de la lib qui elle utilise partout des chevrons :) J'imagine qu'il doit y avoir un flag pour le compilateur ou ma version du gcc qui pose un souci là dessus.
Merci beaucoup pour votre temps et votre aide,
Bob
-
Il semblerait qu'en ajoutant le répertoire include de la lib dans le compilation include path, ça corrige tous ces soucis, tout se compile nickel :)
Merci tout de même! :)
-
Pour inclure un fichier .h se trouvant dans le dossier où est installé votre IDE, vous devez utiliser les chevrons < >
Pour inclure un fichier .h se trouvant dans le dossier de votre projet, vous devez utiliser les guillemets.
Cependant, lorsque vous incluez un .h qui se trouve dans le dossier de votre IDE (et donc avec <>), vous devez veiller a bien mettre le bon chemin (si si, c'est un chemin entre les chevrons) et vous devez dire a votre compilateur de lier la librairie.
Typiquement, "no such file or directory" provient du fait qu'il n'as pas trouvé ou etait le .h, donc mauvais chemin.
Apres avoir mis le bon chemin, si on a "undefined reference to ...", c'est qu'on a certainement pas lier la librairie.
-