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 expects "FILENAME" or <FILENAME>


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Février 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 9
    Par défaut #include expects "FILENAME" or <FILENAME>
    Bonjour tout le monde,

    Je travaille sur un bout de code que j'essaye de compiler mais le probleme c'est ke je recois ce message d'erreur du compilateur (GCC)

    #include expects "FILENAME" or <FILENAME>

    En designant les lignes suivantes.

    #include SYS_SOCKET_APP_H
    #include NETINET_IN_APP_H

    PS : ces bibliotheques sont elles pour windows ou pour linux ?

    Merci

  2. #2
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Bonjour,

    Je pense qu'il faudrait que tu te (re)renseignes sur ce que fait #include

    En effet, #include doit être suivi d'un nom de fichier, celui-ci étant entre "" si c'est toi qui l'a défini, et entre <> si c'est un fichier système.

    je pense que ton livre de C devrait te renseigner là-dessus.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  3. #3
    Membre habitué
    Inscrit en
    Février 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 9
    Par défaut
    Salut,

    j'ai oublié de dire que je ne suis pas tellement novice. Je me connait assez en C, et je connais le fonctionnement de include.

    Ce ki me gene c'est le nom de ces includes !!!

  4. #4
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Nocif
    j'ai oublié de dire que je ne suis pas tellement novice. Je me connait assez en C, et je connais le fonctionnement de include.
    Et tu postes çà en te demandant pourquoi ça ne fonctionne pas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include SYS_SOCKET_APP_H
    #include NETINET_IN_APP_H
    T'as oublié de brancher ton cerveau ou quoi ?
    Ce ki me gene c'est le nom de ces includes !!!
    Ben oui, c'est faux. Tu attends quoi pour corriger ?

  5. #5
    Membre habitué
    Inscrit en
    Février 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 9
    Par défaut
    Ben je sais pas koi corriger, le code source est comme ça et c'est pas moi ki l'a developpé, et il parait que ca fonctionne comme ca

  6. #6
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Nocif
    Ben je sais pas koi corriger, le code source est comme ça et c'est pas moi ki l'a developpé, et il parait que ca fonctionne comme ca
    Pas possible. Montre le code exact (copié collé).

    Il est possible qu'il y ait un truc comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #define SYS_SOCKET_APP_H <sys/sockets.h>
    #define NETINET_IN_APP_H <netinet.h>
     
    #include SYS_SOCKET_APP_H
    #include NETINET_IN_APP_H
    voire des definitions externes (makefile, projet...) genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    -DSYS_SOCKET_APP_H=<sys/sockets.h>
    -DNETINET_IN_APP_H=<netinet.h>
    Mais à mon avis, celui qui a fait ça merite le fouet...

  7. #7
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Par défaut
    Bonjour,

    c'est peut être (enfin je ne vois que ca comme explication) un problème de #define.

    En effet je viens de tester ca (sous VC++) et ca compile parfaitement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #define STDIO <stdio.h>
    #include STDIO
     
    //code
    Il doit donc te manquer les #define renvoyant aux bons fichiers d'en-tête, par contre j'avoue ne pas saisir l'utilité de la chose... Mais peut être me trompe-je.

  8. #8
    Membre habitué
    Inscrit en
    Février 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 9
    Par défaut
    Ca me parait tres logique comme explication, d'autant plus qu'il me manque un fichier .h pour les sources que j'attends de recevoir de mon chef de projet.

    Merci encore.

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Par défaut
    Généralement quand on inclu un fichier d'entête avec des <...>
    Il faut spécifier le chemin de ce(s) fichier(s) lors de la compilation objet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc -c file.c -I chemin/vers/file.h
    Généralement car ce n'est pas le cas stdio.h par exemple, dont le chemin est connu par le compilateur.
    Mais dans l'utilisation de certaines librairies, le -I est obligatoire.

  10. #10
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Neitsa
    En effet je viens de tester ca (sous VC++) et ca compile parfaitement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #define STDIO <stdio.h>
    #include STDIO
    Marrant, je viens de faire ce test chez moi (dev-c++):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #define STDIO <stdio.h>
    #include STDIO
    hé hé! (Ok aussi).

Discussions similaires

  1. Réponses: 16
    Dernier message: 28/06/2007, 17h10

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