bonjour
lorsque que je compile mon programme il m'affiche ces erreurs et je n'arrive pas a trouver la solution
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 : 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
#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 : 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
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 : 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
#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;
}