J'ai 2 fichiers algo.c et numberArrival.c dans lequel j'utilise une fonction appele randgen().
Cette fonction a besoin de : #include "RandomNumber.h"
Si je mets #include "RandomNumber.h" dans les 2 fichiers j'obtiens :
Ce qui est normal je vous l'accorde !NumberArrival.o:NumberArrival.c.text+0x0): multiple definition of `_randgen'
Algo.o:Algo.c.text+0x0): first defined here
NumberArrival.o:NumberArrival.c.text+0x137): multiple definition of `_randint'
Algo.o:Algo.c.text+0x137): first defined here
collect2: ld returned 1 exit status
make: *** [main] Error 1
Le probleme etrange c'est que la fonction randgen marche uniquement la ou RandomNumber .h est inclus.
Par exemple si je mets #include "RandomNumber.h" dans un le fichier algo.c le randgen() dans ce fichier va donne des resultats coherents compris entre 0 et 1.
Par contre dans numberArrival.c rangen() donnera des resultats incoherents ! Quelqu'un peut m'exdpliquer pourquoi ?
Plus precisement dans l'autre fichier elle marchera aussi mais avec des resultats incoherents.
Comme il est impossible de mettre
Pourtant les 2 fichiers sont relies Voici les include
la ou est le main :
NumberArrival.c
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #include <stdlib.h> #include <stdio.h> #include "NumberArrival.h" #include "Buffer.h" #include "RandomNumber.h" #define TRUE 1 #define FALSE 0 typedef int BOOL;
j'espere avoir ete clair
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 #include <stdlib.h> #include <stdio.h> #include "RandomNumber.h"
Partager