multiple definitions of var..
Bonjour,
Cela fait plus d'une heure que je bataille sur un problème, sans doute très bête: J'ai une variable dont j'ai besoin dans plusieurs fichiers différents, et j'arrive soit à les inclure plusieurs fois (et le linker crie) , soit pas du tout (et donc le compilo crie)
Bon, je vais essayer de simplifier au maximum la struture des fichiers concernés; la liste des fichiers avec leurs includes et fonctions:
main.cpp
Code:
1 2 3 4 5
|
#include "const.cpp"
int main () {
fctn();
} |
const.cpp
Code:
1 2 3 4 5 6
|
#include "call.h"
unType mavar
int fctn () {
// utilisation de mavar
} |
call.cpp
Code:
1 2 3 4 5
|
#include "call.h"
int call::call_fctn () {
// utilisation de mavar
} |
call.h
Code:
1 2 3 4
|
namespace call {
int call_fctn ();
} |
Note: var est un objets d'une classe que je n'ai pas jugé utile de présenter ici.
Le Makefile quant à lui pourrai se résumer à:
Code:
1 2 3
|
gcc -c call.cpp
gcc -lcall main.cpp -o exec.bin |
Mais non. Les résultats auquels j'arrive sont ( en bougeant mavar de fichier en fichier ) soit mavar n'a pas été déclaré dans main.cpp, soit pas déclaré dans call.cpp, soit au moment de lier, dans main.cpp: mavar a déja été déclaré avant dans call.cpp
une idée ?
J'espere ne pas avoir trop simplifié le code et avoir fait disparaitre le probleme :aie: