Bonjours.
Je vous explique mon problème. J'ai un source "Trieur.c" et un header "Trieur.h"
voici leurs code:

Trieur .h
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_ */
Trieur.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 <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;
}
Le fichier trieur.c n'est pas le source du main principal (qui n'a pas été codé d'ailleurs).
Je ne fais pas d'autre référence à la fonction Triage.

résultat de compilation
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
Je ne comprend pas pourquoi il me sort multiple valeur "triage"...
Merci par avance pour votre aide ^^.
Iko