Bonjours.
Je vous explique mon problème. J'ai un source "Trieur.c" et un header "Trieur.h"
voici leurs code:
Trieur .h
Trieur.c
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #ifndef TRIEUR_H_ #define TRIEUR_H_ int Triage(short *, int); #endif /* TRIEUR_H_ */
Le fichier trieur.c n'est pas le source du main principal (qui n'a pas été codé d'ailleurs).
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 <stdio.h> #include <stdlib.h> #include "trieur.h" /* fonction utilisateur de comparaison fournie a qsort() */ static int compare (void const *a, void const *b) { /* definir des pointeurs type's et initialise's avec les parametres */ int const *pa = a; int const *pb = b; /* evaluer et retourner l'etat de l'evaluation (tri croissant) */ return *pa - *pb; } int Triage(short *tab, int choix) { qsort(tab, sizeof tab / sizeof *tab, sizeof *tab, compare); return 0; }
Je ne fais pas d'autre référence à la fonction Triage.
résultat de compilation
Je ne comprend pas pourquoi il me sort multiple valeur "triage"...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Building target: Exo_tri_valeur Invoking: GCC C Linker gcc -o"Exo_tri_valeur" ./src/Exo_tri_valeur.o ./src/interface.o ./src/trieur.o ./src/trieur.o: In function `Triage': /home/ikoria/workspace_eclipse/Exo_tri_valeur/Debug/../src/trieur.c:27: multiple definition of `Triage' ./src/Exo_tri_valeur.o:/home/ikoria/workspace_eclipse/Exo_tri_valeur/Debug/../src/trieur.c:27: first defined here collect2: ld a retourné 1 code d'état d'exécution make: *** [Exo_tri_valeur] Erreur 1
Merci par avance pour votre aide ^^.
Iko
Partager