reference indefini lors de la compilation
bonjour
lorsque que je compile mon programme il m'affiche ces erreurs et je n'arrive pas a trouver la solution
Citation:
gcc -pedantic -Wall -Wextra -Werror -std=c11 -o "main" "main.c" (dans le dossier : /home/chris/Bureau/algo)
/tmp/ccR1Ljql.o: dans la fonction « main »:
main.c:(.text+0x68): référence indéfinie vers « read_write »
main.c:(.text+0x74): référence indéfinie vers « chain »
main.c:(.text+0x93): référence indéfinie vers « affich_list »
collect2: error: ld returned 1 exit status
Compilation échouée.
merci d'avance pour votre aide
voici le code de mon main
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #include <stdlib.h>
#include <stdio.h>
#include <assert.h>
#include <string.h>
#include "test.h"
int main(){
FILE* fic = NULL;
Pelt t = malloc(sizeof(elt));
printf("8888 afic good");
fic = fopen("test.txt","r");
assert(fic!=NULL);
read_write(fic);
t=chain(fic);
printf("afic good");
affich_list(t);
fclose(fic);
return EXIT_SUCCESS;
} |
code de test.h
Code:
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 36 37 38 39 40 41 42 43 44
| #include <stdlib.h>
#include <stdio.h>
#include <assert.h>
#include <string.h>
#ifndef TEST_H
#define TEST_H
typedef struct elt *Pelt;
typedef struct elt {
char* nam;
Pelt next;
}elt;
typedef struct liste{
Pelt first;
int size;
}*liste;
// fonction defini dans test.c
elt new_elt (char *n);
Pelt new_Pelt(elt e);
Pelt new_list();
Pelt add_vid(Pelt lister, elt te);
Pelt last_elt(Pelt l);
Pelt add_list_elt(Pelt list, elt e);
Pelt add(Pelt list, elt e);
Pelt add_Pelt(Pelt list, Pelt b);
void affich_list(Pelt r);
Pelt prev_elt(Pelt l, elt e);
Pelt suiv_elt(Pelt l, elt e);
Pelt ins_elt(Pelt l, elt e,elt h);
//fin des fonctions defini dans test.c
//fonction defini dans test_read_fich.c
FILE* read_write(FILE* f);
//fin fonction defini dans test_read_fich.c
//fonction defini dans full_chain.c
Pelt chain(FILE *p);
//fin fonction defini dans full_chain.c
#endif |
code d'un des fichiers en .c
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| #include <stdlib.h>
#include <stdio.h>
#include <assert.h>
#include <string.h>
#include "test.h"
#include "test_read_fich.c"
#include "test.c"
#define TAILLE_MAX 28
Pelt chain(FILE *p){
Pelt li = malloc(sizeof(elt));
char *c =malloc(sizeof(char));
fgets(c,TAILLE_MAX,p);
elt f=new_elt(c);
li=new_list();
li=add(li,f);
while((*c)!=EOF){
f=new_elt(c);
li=add(li,f);
fgets(c,TAILLE_MAX,p);
}
return li;
} |