IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres éditeurs Discussion :

No include path in which to search for stdio.h


Sujet :

Autres éditeurs

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 13
    Points : 8
    Points
    8
    Par défaut No include path in which to search for stdio.h
    Salut,

    Je souhaite compiler du C sous Windows Vista. Pour celà, j'ai téléchargé et insallé MinGW.

    Si je compile avec la commande
    gcc -o monFichier.exe monFichier.c
    Alors que je suis dans le répertoire où est installé gcc, ça fonctionne très bien.

    Cependant, j'aimerais pouvoir utiliser gcc depuis n'importe où. Pour celà, j'ai ajouté à la variable d'environnement PATH les chemins :
    C:\MinGW\bin\;
    C:\MinGW\libexec\gcc\mingw32\3.4.2\;
    C:\MinGW\include\;
    C:\MinGW\lib\;

    De ce fait, je peux lancer gcc depuis n'importe où, cependant, il reste un problème, il ne trouve pas les librairies. Lorsque je compile, gcc me renvoie l'erreur :
    No include path in which to search for stdio.h

    Quelqu'un connait la manipulation à faire pour que gcc trouve le chemin vers les librairies ?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Points : 1 069
    Points
    1 069
    Par défaut
    C:\MinGW\bin\ était suffisant dans le PATH.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc -I C:\MingW\include -o monFichier.exe monFichier.c
    devrait suffir pour résoudre ton problème. Toutefois, ce n'est pas une solution. Est-ce que tu pourrais faire gcc -v -c monFichier.c ? Tu y verras les répertoires par défaut dans lesquels gcc cherche les headers.

    Autrement MSYS te permet de facilement utiliser gcc sous Windows.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc -I C:\MingGW\include -o monFichier.exe monFichier.c
    Ca ne fonctionne pas, j'ai le message d'erreur qui est très très long et qui commence de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    In file included from td3exo6.c:2:
    C:/MinGW/include/stdio.h:26:20: stddef.h: No such file or directory
    C:/MinGW/include/stdio.h:28:20: stdarg.h: No such file or directory
    In file included from td3exo6.c:2:
    C:/MinGW/include/stdio.h:191: error: syntax error before "size_t"
    C:/MinGW/include/stdio.h:202: error: syntax error before "size_t"
    C:/MinGW/include/stdio.h:203: error: syntax error before "__gnuc_va_list"
    C:/MinGW/include/stdio.h:204: error: syntax error before "__gnuc_va_list"
    C:/MinGW/include/stdio.h:205: error: syntax error before "__gnuc_va_list"
    C:/MinGW/include/stdio.h:206: error: syntax error before "size_t"
    C:/MinGW/include/stdio.h:209: error: syntax error before "size_t"
    ...
    Et si je fais :

    Celà me retourne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Using built-in specs.
    Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=c,c++,f77,ada,objc,java --disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchronization --enable-libstdcxx-debug
    Thread model: win32
    gcc version 3.4.2 (mingw-special)
     cc1 -quiet -v -iprefix ../lib/gcc/mingw32/3.4.2/ td3exo6.c -quiet -dumpbase td3exo6.c -auxbase td3exo6 -version -o ./ccyuaaaa.s
    ignoring nonexistent directory "../lib/gcc/mingw32/3.4.2/../../../../include"
    ignoring nonexistent directory "../lib/gcc/mingw32/3.4.2/include"
    ignoring nonexistent directory "../lib/gcc/mingw32/3.4.2/../../../../mingw32/include"
    ignoring nonexistent directory "/mingw/include"
    ignoring nonexistent directory "/mingw/include"
    ignoring nonexistent directory "/mingw/lib/gcc/mingw32/3.4.2/include"
    ignoring nonexistent directory "/mingw/mingw32/include"
    ignoring nonexistent directory "/mingw/include"
    #include "..." search starts here:
    #include <...> search starts here:
    End of search list.
    GNU C version 3.4.2 (mingw-special) (mingw32)
            compiled by GNU C version 3.4.2 (mingw-special).
    GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
    td3exo6.c:2:19: no include path in which to search for stdio.h
    td3exo6.c:3:20: no include path in which to search for stdlib.h
    td3exo6.c: In function `main':
    td3exo6.c:41: error: `EXIT_SUCCESS' undeclared (first use in this function)
    td3exo6.c:41: error: (Each undeclared identifier is reported only once
    td3exo6.c:41: error: for each function it appears in.)
    Ce te donne des pistes pour résoudre le problème ? parce que moi, je vois rien...

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Je viens de tenter un truc, rennomer mon dossier C:\MinGW\ en C:\mingw\, du coup, lorsque je fais :
    Celà me retourne le message suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Using built-in specs.
    Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=c,c++,f77,ada,objc,java --disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchronization --enable-libstdcxx-debug
    Thread model: win32
    gcc version 3.4.2 (mingw-special)
    Mais bon, si je retente une compilation après ça, j'ai toujours le même message d'erreur :'(

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Points : 1 069
    Points
    1 069
    Par défaut
    Même si ça ne doit pas être très grave, ne renomme pas le répertoire !

    Je te conseillerais d'installer msys pour n'avoir aucun problème. Par défaut, gcc cherche dans /mingw et les / sous Windows sans interpréteur comme MSYS, ça ne sert à rien.
    http://sourceforge.net/project/showf...ckage_id=24963

    Autrement, tu peux essayer l'option -idirafter, qui permet de spécifier les répertoires par défaut où chercher les headers, avec C:\MinGW\include.

    Autre chose, si tu compiles par exemple avec le compilateur de CodeBlocks, qui est aussi un gcc mingw, mais configuré autrement, la compilation ne pose pas de souci à partir d'un interpréteur de commandes de Windows.
    Tu n'as peut-être pas téléchargé la bonne version.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par aoyou Voir le message
    Je te conseillerais d'installer msys pour n'avoir aucun problème.
    J'ai testé avec MSYS, on peut effectivement compiler avec gcc depuis MSYS, mais par contre, lorsque j'exécute un programme compilé depuis MSYS, ça plante. Et de plus, MSYS ne répond pas vraiment à mon besoin puisqu'il ne permet pas de parcourir toute l'arborescence de mon disque dur, seulement sa propre arborescence.

    Citation Envoyé par aoyou Voir le message
    si tu compiles par exemple avec le compilateur de CodeBlocks, qui est aussi un gcc mingw, mais configuré autrement, la compilation ne pose pas de souci à partir d'un interpréteur de commandes de Windows.
    J'ai testé CodeBlocks, tout d'abord, en installant le package CodeBlocks+MinGW. Là, je me retrouve avec le même problème, c'est à dire qu'il me trouve pas les includes. Par contre, j'ai fais un autre test, en installant séparament, CodeBlocks et MinGW et là, ça fonctionne. Cependant, ça ne résoud pas le problème de compilation depuis la console windows. Mais bon, c'est déjà pas mal que ça fonctionne sous CodeBlocks...

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Je viens de me rendre compte que ça compile sous CodeBlocks uniquement si l'on crée un simple fichier. Si l'on crée un projet, ça compile pas, j'ai de nouveau l'erreur de includes ! C'est à n'y rien comprendre....

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Points : 1 069
    Points
    1 069
    Par défaut
    Citation Envoyé par RorolePro Voir le message
    Et de plus, MSYS ne répond pas vraiment à mon besoin puisqu'il ne permet pas de parcourir toute l'arborescence de mon disque dur, seulement sa propre arborescence.
    cd /c/ pour voir les fichiers sous C:\
    MSYS est aussi capable d'interprêter les chemins Windows.

    Citation Envoyé par RorolePro Voir le message
    J'ai testé CodeBlocks, tout d'abord, en installant le package CodeBlocks+MinGW. Là, je me retrouve avec le même problème, c'est à dire qu'il me trouve pas les includes.
    Curieux tout cela. J'ai testé ce midi avec le compilateur de C::B pour compiler dans la console et aucun problème. "C:\Program Files\CodeBlocks\bin\gcc.exe" -c file.c

    Attention au PATH, il y a peut-être maintenant des conflits entre les diverses installations.

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par aoyou Voir le message
    Attention au PATH, il y a peut-être maintenant des conflits entre les diverses installations.
    L'installateur n'est pas capable d'écrire dans PATH tout seul, je dois le faire à la main. A noter que je dois également déplacer des fichiers de MinGW\libexec\gcc\mingw32\3.4.5 vers MinGW\bin pour que ça fonctionne. Je sais pas avec quoi tu fais tes tests mais je sais pas si tu as fais attention que j'étais sous Vista ?

Discussions similaires

  1. set include path
    Par trucentete dans le forum Langage
    Réponses: 1
    Dernier message: 30/06/2009, 00h50
  2. Searching for classes
    Par pcouas dans le forum JDeveloper
    Réponses: 0
    Dernier message: 08/10/2008, 12h49
  3. Réponses: 8
    Dernier message: 11/12/2007, 11h12
  4. Problème d'include path
    Par Yoteco dans le forum Zend Framework
    Réponses: 5
    Dernier message: 05/10/2007, 22h14
  5. [PEAR] Windows include path et require_once
    Par psgman113 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 19/08/2007, 16h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo