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 avec un makefile


Sujet :

C

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 90
    Points : 119
    Points
    119
    Par défaut Problème avec un makefile
    Bonsoir,

    Je viens de créer un fichier Makefile pour compiler l'ensemble de mes fichiers mais il ne fonctionne pas.
    J'ai 3 fichiers test-vext, un fichier vext.c, un ficher vext.h et le Makefile dans un dossier test.
    Les fichiers text-vext ont en en-tête :
    #include <memoire.h>
    #include <chaine.h>
    #include <vext.h>

    Le ficher vext.c a en en-tête :
    #include <memoire.h>
    #include <vext.h>

    Les fichiers chaine.o et memoire.o sont dans ../../lib/libtest.a
    Le fichiers chaine.h et memoire.h sont dans ../../include

    Les erreurs sont :
    gcc -g -std=c99 -Wall -I../../include -c -o vext.o vext.c
    gcc test-vext-1.o vext.o -lm -L../../lib -o test-vext-1
    vext.o: In function `vext_creer':
    /home/NOM/DOSSIER/src/test/vext.c:30: undefined reference to `memoire_allouer'
    vext.o: In function `vext_liberer':
    /home/NOM/DOSSIER/src/test/vext.c:58: undefined reference to `memoire_liberer'
    /home/NOM/DOSSIER/src/test/vext.c:59: undefined reference to `memoire_liberer'
    vext.o: In function `rallonger':
    /home/NOM/DOSSIER/src/test/vext.c:65: undefined reference to `memoire_reallouer'

    Voici le 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
    CC= gcc
     
    CFLAGS= -g -std=c99 -Wall
    CPPFLAGS= -I../../include
    LDFLAGS= -lm -L../../lib
     
    OUTFILES= test-vext-1 test-vext-2 test-vext-3
     
    all: $(OUTFILES)
     
    test-vext-1: vext.o test-vext-1.o
    	$(CC) test-vext-1.o vext.o $(LDFLAGS) -o test-vext-1
     
    test-vext-2: vext.o test-vext-2.o
    	$(CC) test-vext-2.o vext.o $(LDFLAGS) -o test-vext-2
     
    test-vext-3: vext.o test-vext-3.o
    	$(CC) test-vext-3.o vext.o $(LDFLAGS) -o test-vext-3
     
    test-vext-1.o: test-vext-1.c vext.h
    test-vext-2.o: test-vext-2.c vext.h
    test-vext-3.o: test-vext-3.c vext.h
     
    vext.o: vext.c vext.h
     
    clean :
    	rm -f *.o $(OUTFILES)
    D'où peut venir le problème ?

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Points : 1 481
    Points
    1 481
    Par défaut
    Dans LDFLAGS tu ne fais que spécifier le répertoire non standard ../../lib pour la recherche des libraries nécessaires mais tu n'indiques pas qu'il faut linker avec libtest.a

    Il manque un '-ltest" quelque part (au même titre que le "-lm") et, du coup, l'édition de liens ne trouve pas les fonctions memoire_allouer, memoire_liberer, ... (cf les messages d'erreur)

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

Discussions similaires

  1. Problème avec un makefile
    Par Invité dans le forum C
    Réponses: 2
    Dernier message: 28/05/2011, 14h06
  2. Problème avec un makefile c++
    Par herzak dans le forum C++
    Réponses: 4
    Dernier message: 20/09/2010, 10h37
  3. Problème avec Makefile
    Par beb30 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 02/03/2006, 16h02
  4. problème avec perl Makefile.PL
    Par flores dans le forum Modules
    Réponses: 2
    Dernier message: 30/10/2005, 20h09
  5. Problème avec makefile
    Par snooopppp dans le forum Systèmes de compilation
    Réponses: 3
    Dernier message: 22/02/2004, 16h46

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