include.h marche dans un fichier .c mais pas dans l'autre
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 :
Citation:
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
Ce qui est normal je vous l'accorde !
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 :
Code:
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; |
NumberArrival.c
Code:
1 2 3 4
|
#include <stdlib.h>
#include <stdio.h>
#include "RandomNumber.h" |
j'espere avoir ete clair :D