Bonjour
Je ne peux pas compiler à cause d'une erreur dans main :
"undefined reference to analyse_ligne_text"
je suppose que l'erreur vient du makefile, mais impossible de la trouver. La fonction analyse_text_ligne fonctionnait quand elle s'appelait encore main.
mon main :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 int analyse_ligne_text(text_code); /* prototype ; text_code est un pointeur sur une structure définie dans un header */ int main(void){ int section; text_code listemain; listemain->element = "bhs.b"; section = analyse_ligne_text(listemain); /* ligne d'appel */ return 0; }
la définition de la fonction :
des bouts du makefile
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 int analyse_ligne_text(text_code liste1){ /*appel de fonctions ; déjà testé */ return 0; }
mesfonctions.h est le fichier dans lequel est déclaré text_code, déjà utilisé avec succès pour d'autres tests; il est déclaré en tête de chaque fichier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 /* déclarations générales*/ test : strtoupper.o Is_label.o Is_instr.o Analyse_ligne_text.o main.o $(CC) -o test strtoupper.o Is_label.o Is_instr.o main.o $(LDFLAGS) /*gestion d'autres fichiers*/ Analyse_ligne_text.o: Analyse_ligne_text.c strtoupper.c Is_label.c Is_instr.c mesfonctions.h $(CC) -o Analyse_ligne_text.o -c Analyse_ligne_text.c $(CFLAGS) main.o : main.c strtoupper.c Is_instr.c Is_label.c Analyse_ligne_text.c mesfonctions.h $(CC) -o main.o -c main.c $(CFLAGS)
je travaille sous linux - ubuntu
merci d'avance de votre aide
PS : quand un fichier A.c fait appel a des fonctions d'un fichier B.c qui lui même en appel à C.c, faut-il mettre B et C dans la liste de dépendance de A, ou seulement B ?
Partager