Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/07/2016, à 15: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 !!  mad

Oui je sais, je peux export un CPATH mais bon... J'aimerais savoir comment ça se comporte surtout.


smile Merci beaucoup !

Dernière modification par Swiss_Knight (Le 12/07/2016, à 23:13)


xuniL

Hors ligne

#2 Le 12/07/2016, à 21: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, à 21:51)

Hors ligne

#3 Le 12/07/2016, à 23: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 smile

Dernière modification par Swiss_Knight (Le 12/07/2016, à 23:13)


xuniL

Hors ligne

#4 Le 13/07/2016, à 19: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é.

manpage gcc a écrit :

-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