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 :
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;
}
des bouts du makefile

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)
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

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 ?