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

 C Discussion :

#include <stdio.h> non reconnus


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    étudiant ingénieur
    Inscrit en
    Juin 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : étudiant ingénieur

    Informations forums :
    Inscription : Juin 2010
    Messages : 37
    Par défaut #include <stdio.h> non reconnus
    Salut à tous,
    J'ai un bout de code qui utilise fopen, fread, fwrite ... des fonctions contenues dans stdio.h. stdio.h est bien inclus. Mais j'ai des erreurs comme si je ne l'avais pas inclus, d'ailleurs si je commente l'include j'ai les mêmes erreurs :/

    Les erreurs :

    minigzip.c
    Error[Pe020]: identifier "FILE" is undefined C:\Program Files\Energy Micro\EFM32 Gecko DK\boards\EFM32_Gxxx_DK\examples\test_zlib_5.4\zlib\minigzip.c 148
    Warning[Pe223]: function "fprintf" declared implicitly C:\Program Files\Energy Micro\EFM32 Gecko DK\boards\EFM32_Gxxx_DK\examples\test_zlib_5.4\zlib\minigzip.c 159
    Error[Pe020]: identifier "stderr" is undefined C:\Program Files\Energy Micro\EFM32 Gecko DK\boards\EFM32_Gxxx_DK\examples\test_zlib_5.4\zlib\minigzip.c 159
    Warning[Pe223]: function "fread" declared implicitly C:\Program Files\Energy Micro\EFM32 Gecko DK\boards\EFM32_Gxxx_DK\examples\test_zlib_5.4\zlib\minigzip.c 182
    Warning[Pe223]: function "ferror" declared implicitly C:\Program Files\Energy Micro\EFM32 Gecko DK\boards\EFM32_Gxxx_DK\examples\test_zlib_5.4\zlib\minigzip.c 183
    Warning[Pe223]: function "fclose" declared implicitly C:\Program Files\Energy Micro\EFM32 Gecko DK\boards\EFM32_Gxxx_DK\examples\test_zlib_5.4\zlib\minigzip.c 191
    Warning[Pe223]: function "fwrite" declared implicitly C:\Program Files\Energy Micro\EFM32 Gecko DK\boards\EFM32_Gxxx_DK\examples\test_zlib_5.4\zlib\minigzip.c 248
    Warning[Pe223]: function "fclose" declared implicitly C:\Program Files\Energy Micro\EFM32 Gecko DK\boards\EFM32_Gxxx_DK\examples\test_zlib_5.4\zlib\minigzip.c 252
    Warning[Pe223]: function "fileno" declared implicitly C:\Program Files\Energy Micro\EFM32 Gecko DK\boards\EFM32_Gxxx_DK\examples\test_zlib_5.4\zlib\minigzip.c 397
    Error[Pe020]: identifier "stdin" is undefined C:\Program Files\Energy Micro\EFM32 Gecko DK\boards\EFM32_Gxxx_DK\examples\test_zlib_5.4\zlib\minigzip.c 397
    Error[Pe020]: identifier "stdout" is undefined C:\Program Files\Energy Micro\EFM32 Gecko DK\boards\EFM32_Gxxx_DK\examples\test_zlib_5.4\zlib\minigzip.c 399
    Error while running C/C++ Compiler

    Je travaille sous iar, sur un EFM32G290F128.

    Si quelqu'un avais une idée, parce que j'ai beau googler depuis quelque heures, je reste bredouille.

  2. #2
    Membre émérite
    Avatar de bpy1401
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 511
    Par défaut
    Bonjour silenteagle

    stdio.h est un standard en C standard. Toi tu es sur micro contrôleur, et généralement les fonctions qui sont standard sur un PC ou UNIX n'existent pas sur micro contrôleur. Donc le fichier existe bien, mais ne contient que les interfaces possibles.

    Tu dois pointer sur un stdio.h dans le chemin d'include de ton compilateur. Donc si tu ouvre ce fichier stdio.h, tu verras ce qui est possible de faire.

    En C embarqué, souvent le printf est redirigé vers une sortie RS232 ou autre afin de pouvoir faire du debug.
    Page sur Developpez : http://pbriand.developpez.com

  3. #3
    Membre averti
    Profil pro
    étudiant ingénieur
    Inscrit en
    Juin 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : étudiant ingénieur

    Informations forums :
    Inscription : Juin 2010
    Messages : 37
    Par défaut
    j'ai essayer en prenant le stdio.h et en le plaçant dans le même répertoire que mon fichier rien n'y fait que j'écrive #include <stdio.h> ou #include "stdio.h" ou que je mette rien c'est la même chose.

    A priori le problème viens de mon ide, iar. Lors que j'en utilise un autre (CodeWarrior) pour un autre micro-controleur(Freescale (Motorola) 68332), je n'ai pas se problème.

  4. #4
    Membre émérite
    Avatar de bpy1401
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 511
    Par défaut
    Bonjour silenteagle

    Cela doit venir de ta configuration de ton projet.
    Si le fichier était manquant, le compilateur t'enverrais un message d'erreur.
    Dans ton cas, ce n'est pas cela, il trouve donc ton fichier stdio.h

    Pour être sur, essaye d'inclure un fichier type bidon.h pour voir si tu as un message d'erreur. deux cas possibles alors

    • Message indiquant que bidon.h n'est pas trouvé ==> ton stdio.h a bien été trouvé , mais les services que tu demande n'existe pas
    • Pas de message, alors peut être la configuration de ton projet


    A suivre
    Page sur Developpez : http://pbriand.developpez.com

  5. #5
    Membre averti
    Profil pro
    étudiant ingénieur
    Inscrit en
    Juin 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : étudiant ingénieur

    Informations forums :
    Inscription : Juin 2010
    Messages : 37
    Par défaut
    j'ai ajouté un bidon.h comme proposé et le compilateur râle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal Error[Pe005]: could not open source file "bidon.h" ....
    Du coups j'ai jeté un oeil à stdio.h que iar utilise (je suppose ) et j'ai trouvé la de finition de FILE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #if _DLIB_FILE_DESCRIPTOR
      typedef _Filet FILE;
    #endif /* _DLIB_FILE_DESCRIPTOR */
    Alors pourquoi iar me dit qu'il est indéfini. De la même manière j'ai vérifier l'existence de fprintf, fopen, perror ...

    J'ai trouvé cela aussi qui m'intrigue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #if _DLIB_FILE_DESCRIPTOR
        using _CSTD FILE;
      #endif

  6. #6
    Membre émérite
    Avatar de bpy1401
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 511
    Par défaut
    Bonjour silenteagle

    C'est certainement du au fait que _DLIB_FILE_DESCRIPTOR n'est pas défini.
    Pourquoi, cela je ne le sais pas.

    Avec ton compilateur, tu dois avoir la doc, jette un œil dedans pour voir si on en parle, et si oui, comment le définir
    Page sur Developpez : http://pbriand.developpez.com

  7. #7
    Membre averti
    Profil pro
    étudiant ingénieur
    Inscrit en
    Juin 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : étudiant ingénieur

    Informations forums :
    Inscription : Juin 2010
    Messages : 37
    Par défaut
    Je vais chercher de se coté là, merci.

  8. #8
    Membre averti
    Profil pro
    étudiant ingénieur
    Inscrit en
    Juin 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : étudiant ingénieur

    Informations forums :
    Inscription : Juin 2010
    Messages : 37
    Par défaut
    Pour résoudre ce problème, j'ai du aller dans les options du projet -> General options -> Onglet : Library Configuration.

    Dans la liste défilante 'library' choisir "Full", on peut lire dans la description juste à droite de la liste qu'en mode Full le file descriptor est supporté.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VB.NET Pilotage Excel : parametres xl... non reconnus
    Par bib34690 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 08/03/2006, 09h49
  2. [Compilation]Fichiers d'inclusion non reconnus
    Par Pépé Lélé dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 04/03/2006, 13h00
  3. Réponses: 21
    Dernier message: 01/03/2006, 16h51
  4. [PHP & Oracle] caractères non reconnus
    Par Ryle dans le forum Oracle
    Réponses: 3
    Dernier message: 08/02/2006, 08h09
  5. Fichiers .asp non reconnus
    Par zorba49 dans le forum ASP
    Réponses: 5
    Dernier message: 13/09/2005, 09h49

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