erreur undefined reference
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:
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:
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:
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 ?