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 :

Problème de fichier .h et de compilation


Sujet :

C

  1. #1
    Invité
    Invité(e)
    Par défaut Problème de fichier .h et de compilation
    Bonjour,

    Je suis entrain de créer un petit programme en C et je me heurte a un problème de compilation a savoir :
    cc -W -Wall -c -o tools/my_exist_file.o tools/my_exist_file.c
    tools/my_exist_file.c:13:25: error: my_makefile.h: No such file or directory
    make: *** [tools/my_exist_file.o] Error 1
    Je sais que le problème vient du fait que lors de la compilation il ne trouve pas le fichier my_head.h mais je n'arrive pas a solutionner ce problème.

    Dans tous mes .c, je rajoute cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include "my_makefile.h"
    Et mon Makefile :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    NAME    =       my_makefile
     
    SRCS    =       tools/my_exist_file.c   \
                    tools/my_file.c         \
                    tools/my_getenv.c       \
                    tools/my_putstr.c       \
                    tools/my_strlen.c       \
                    my_makefile.c
     
    INCLUDE =       include/
     
    LIBRARY =        -L. -lmy
     
    OBJS    =       $(SRCS:.c=.o)
     
    CFLAGS  =       -W -Wall
     
    CC      =       cc
     
    RM      =       rm -rf
     
    all     :       $(NAME)
     
    $(NAME) :       $(OBJS)
                    $(CC) -o $(NAME) $(SRCS) -I $(INCLUDE)
     
    clean   :
                    $(RM) $(OBJS)
                    $(RM) *~
     
    fclean  :       clean
                    $(RM) $(NAME)
     
    re      :       fclean all
    J'essaye de respecter la norme de mon ecole au niveau de la structure du code donc je ne peux pas faire ceci dans mes fichiers .c :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include "../include/my_makefile.h"
    Veuillez m'excuser pour les fautes d'accent, je suis sur un clavier QWERTY.

    Merci d'avance.

  2. #2
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Par défaut
    Bonjour,

    1) Dans la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cc -W -Wall -c -o tools/my_exist_file.o tools/my_exist_file.c
    Je ne vois pas apparaître l'include décrit dans le makefile via
    -I $(INCLUDE)

    en compilant "à la main"
    cc -I include etc..
    cela devrait fonctionner.
    C'est sans doute un problème de makefile

    2) Je préconise de ne pas mettre de chemin dans le langage C, bref de faire #include"toto.h" et non pas #include"path\toto.h".
    Le langage C est fait pour programmer et le makefile pour gérer les arborescences.


    Merci

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Merci pour votre aide.
    J'ai résolu le problème en m'apercevant que le problème venait de cette ligne :
    qui compile automatiquement les .c en .o.
    En utilisant cette ligne, le makefile utilise également la variable CFLAGS donc il m'a suffit d'avoir mon -I dans ma variable CFLAGS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CFLAGS = -W -Wall -I./include/
    et le tour est joué.

    Encore merci.

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

Discussions similaires

  1. Visual C++ express ne compile pas, problème de fichier .pch
    Par capsavon dans le forum Visual Studio
    Réponses: 0
    Dernier message: 23/03/2009, 17h46
  2. Problème sur fichier compilé en .exe
    Par Thyrolas dans le forum Débuter
    Réponses: 4
    Dernier message: 15/09/2008, 08h53
  3. Réponses: 4
    Dernier message: 31/03/2008, 14h07
  4. Problème ouverture fichier par double clic...
    Par sankookai dans le forum MFC
    Réponses: 4
    Dernier message: 11/05/2005, 09h13
  5. Problème avec fichier texte
    Par jpdelx dans le forum ASP
    Réponses: 7
    Dernier message: 13/11/2003, 13h17

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