Probléme programmation Visual C++

Signaler
Messages postés
69
Date d'inscription
mercredi 27 janvier 2010
Statut
Membre
Dernière intervention
16 avril 2013
-
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Bonjour

j'ai rencontré un problème qui me rend fou ..en fait lorsque j'inclue dans mon Main #include "Arm_Dynamique.cpp" , il me donne une erreur que j'arrive pas a comprendre , si quelqu'un sait comment je peut corriger ça , je serai très reconnaissant

voici l'erreur qui m'affiche : ARM_DYNAMIQUE est déjà déclaré

1>Linking...
1>main.obj : error LNK2005: "public: __thiscall ARM_DYNAMIQUE::ARM_DYNAMIQUE(void)" (??0ARM_DYNAMIQUE@@QAE@XZ) already defined in Arm_Dynamique.obj
1>main.obj : error LNK2005: "public: __thiscall ARM_DYNAMIQUE::~ARM_DYNAMIQUE(void)" (??1ARM_DYNAMIQUE@@QAE@XZ) already defined in Arm_Dynamique.obj
1>main.obj : error LNK2005: "public: __thiscall ARM_DYNAMIQUE::ARM_DYNAMIQUE(class ARM_DYNAMIQUE const &)" (??0ARM_DYNAMIQUE@@QAE@ABV0@@Z) already defined in Arm_Dynamique.obj
1>main.obj : error LNK2005: "public: void __thiscall ARM_DYNAMIQUE::Move_ARM(double,double,double,double)" (?Move_ARM@ARM_DYNAMIQUE@@QAEXNNNN@Z) already defined in Arm_Dynamique.obj
1>D:\Visual Studio 2008\Projects\first\Debug\first.exe : fatal error LNK1169: one or more multiply defined symbols found
1>Build log was saved at "file://d:\Visual Studio 2008\Projects\first\first\Debug\BuildLog.htm"

2 réponses

Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
salut,

Arm_Dynamique semble exister 2 fois. L'erreur est que tu l'intègre en tant que module séparé (.obj) dans le projet avec le linker et au niveau du code compilé avec le fichier source.

L'objet est déjà lié d'une manière ou d'une autre avec le .obj et integrer le code a main.cpp crée un doublon dans la compilation.

@++
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
JAMAIS include d'un cpp, toujours un h correctement fait pour éviter les inclusions multiples.

--------------
#ifndef UTILS_H
#define UTILS_H

#ifdef __cplusplus
extern "C" {
#endif

void maFonction(int n);

#ifdef __cplusplus
}
#endif

#endif
--------------

ciao...
BruNews, MVP VC++