#1 Le 12/07/2016, à 14:54
- Swiss_Knight
☑ [gcc/g++] Path par défaut pour les headers
Bonjour,
Par défaut GCC va chercher les headers ici :
/usr/local/include
libdir/gcc/target/version/include
/usr/target/include
/usr/include
Source : https://gcc.gnu.org/onlinedocs/cpp/Search-Path.html
Mais... Est-ce qu'il regarde aussi dans les sous-répertoires ou pas ?!
Je n'en ai pas l'impression et ça m'ennuie pour certains headers qu'il ne trouve pas parce qu'ils sont justement dans un sous-répertoire !!
Oui je sais, je peux export un CPATH mais bon... J'aimerais savoir comment ça se comporte surtout.
Merci beaucoup !
Dernière modification par Swiss_Knight (Le 12/07/2016, à 22:13)
xuniL
Hors ligne
#2 Le 12/07/2016, à 20:49
- Rolinh
Re : ☑ [gcc/g++] Path par défaut pour les headers
Salut,
Et pourquoi voudrais-tu éviter les sous-répertoires? Que penses-tu qu'il se passe si deux fichiers ont le même nom dans un sous-répertoire?
Il faut inclure le répertoire dans le chemin. Exemple:
#include <sys/types.h>
pour le header dont le chemin est /usr/include/sys/types.h
Dernière modification par Rolinh (Le 12/07/2016, à 20:51)
Hors ligne
#3 Le 12/07/2016, à 22:12
- Swiss_Knight
Re : ☑ [gcc/g++] Path par défaut pour les headers
Je ne cherche pas à les éviter, j'ai un soft qui refuse d'être compilé parce qu'une librairie n'est pas installée là où il l'attend justement.
Et c'est pas moi qui l'y ai mise, c'est sa routine d'installation qui l'a fichue ici.
Du coup je comprenais pas pourquoi il ne trouvais pas le fichier de header alors qu'il était quelque part dans /usr/include... sauf qu'il était dans un sous-répertoire !
Je comprends mieux maintenant.... rahlala, ces dev qui développent par correctement...
Merci de l'explication
Dernière modification par Swiss_Knight (Le 12/07/2016, à 22:13)
xuniL
Hors ligne
#4 Le 13/07/2016, à 18:46
- Rolinh
Re : ☑ [gcc/g++] Path par défaut pour les headers
Note que tu peux aussi inclure le dossier directement pour la recherche des headers via -I pour autant que le header en question ne se trouve pas dans les répertoires standards pour les headers, auquel cas il serait ignoré.
-I dir
Add the directory dir to the list of directories to be searched for header files. Directories named by -I are searched before the standard system include directories. If the directory dir is a standard system include directory, the option is ignored to ensure that the default search order for system directories and the special treatment of system headers are not defeated . If dir begins with "=", then the "=" will be replaced by the sysroot prefix; see --sysroot and -isysroot.
Hors ligne