begin process at 2012 05 30 16:00:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Redeclaration de variables


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Redeclaration de variables

lundi 21 février 2005 à 11:41:07 | Redeclaration de variables

AlexMAN

Membre Club
Bonjour,

J'ai un petit souci : Mon projet utilise 2 fichiers sources *.cpp, et un fichier entete *.h qui contient toutes les variables communes aux 2 fichiers cpp (donc le fichier h est inclus dans les 2 fichiers sources.). Mais au moment du 'linkage', je recois ca :

8Card error LNK2005: _iSelCard déjà défini(e) dans main.obj
...
8Card fatal error LNK1169: un ou plusieurs symboles définis à différentes reprises ont été rencontrés

Dans mon .h, j'ai fait attention a bien mettre :

#ifndef _GLOBAL_H
#define _GLOBAL_H
...
#endif

Voila, si quelqu'un a une solution ;)
Merci d'avance.

+2(p - n)
lundi 21 février 2005 à 11:47:12 | Re : Redeclaration de variables

magic_Nono

Membre Club
évite les variables globales !!!!


si tu peux vraiement pas faire autrement

joue avec des extern dans ton header
++

Magic Nono: l'informagicien!
lundi 21 février 2005 à 11:58:43 | Re : Redeclaration de variables

ymca2003

Réponse acceptée !
le fait de mettre un .h entre #ifdef/#endif évite l'inclusion multiple pour la compilation d'un fichier source pris séparement. comme tu as 2 fichiers sources, il inclueront tous les 2 une seule fois le .h et donc à l'édition de lien, les varaibles sont en double.

=> ne pas mettre les variables globales dans les .h ou alors rajouter extern. Un des fichiers sources doit avoir la déclaration standard et les autres celle avec extern.
lundi 21 février 2005 à 12:18:17 | Re : Redeclaration de variables

AlexMAN

Membre Club
Bon bah ok, ca me semblait plus 'propre' de faire un .h, mais non, merci a vous 2 ;)
magic_Nono > Je ne peux pas faire autrement...

+2(p - n)
lundi 21 février 2005 à 12:31:44 | Re : Redeclaration de variables

AlexMAN

Membre Club
Avec des extern, j'ai les mêmes erreurs, et je viens de m'apercevoir que pas toutes les variables 'redeclarées' a l'aide de extern sont dites 'Deja definies.'. Donc il y a une couille quelque part.

+2(p - n)
lundi 21 février 2005 à 12:52:14 | Re : Redeclaration de variables

AlexMAN

Membre Club
Personne n'a une idée ? Parce que la ca me semble bizarre quand meme.

+2(p - n)
lundi 21 février 2005 à 19:52:40 | Re : Redeclaration de variables

cosmobob

salut,
si dans un .cpp tu déclares extern int i; et dans l'autre tu déclares int i; a priori il n'y aura pas d'erreurs. copie colle ton code et tes erreurs si tu t'en sors pas.

a++
lundi 21 février 2005 à 20:33:53 | Re : Redeclaration de variables

dletozeun

exemple :

main.cpp :

#include "variables.h"

int var;

int main()
{
}

_____________________
variables.h

#ifndef variables
#define variables

extern int var;

#endif
______________________
source.cpp

#include "variables.h"

...


ca marche chez moi
lundi 21 février 2005 à 20:45:09 | Re : Redeclaration de variables

AlexMAN

Membre Club
J'ai trouvé, je faisais un copier coller des variables globales, et il y avait toujours les initialisations de ces mm variables, ce qui explique l'erreur..Merci quand meme ;)

+2(p - n)


Cette discussion est classée dans : variables, fichiers, sources, cpp, redeclaration


Répondre à ce message

Sujets en rapport avec ce message

Plusieurs fichiers sources [ par nisaloncaje ] ReBonjour, dans mon projet, je dispose d'un fichier main.cpp qui contient la fonction main et les déclarations de classe.Je pensais mettre, dans un fi Prob de déclaration et d'utilisation de variables ds plusieurs fichiers [ par julien_boss ] Bonjour, probleme de débutant mais je séche :/ J'ai mon fichier main.cpp, et deux autres : calc.h et calc.cpp j'inclus dans les 2 fichiers .cpp le fi compilation des .h [ par jannoman ] Bonjour.Voila mon probleme : j'ai écrit peut être 6 ou 7 classes différentes dans des fichiers .h (et pas juste les prototypes / déclarations, mais au performance, passage de variables entre fichiers? [ par azamharir ] salutje voulais savoir la methode la plus performante pour faire passer des variables entre plusieurs fichiers (cpp).1° utiliser les : extern2° utilis Visibilité de variables c [ par Moomoon07 ] Bonjour,Voici mon problême :Mon programme possède un main et 3 modules : main.cpp, m1.cpp, m2.cpp, m3.cppmain.cpp inclut m1.h, m2.h et m3.hChacun de c Variables globales sur plusieurs sources [ par repial ] Bonjour, bonjour,je cherche une méthode pour déclarer des variables dans un fichier auxquelles chaque source du code peut avoir potentiellement accès compile à plusieurs fichiers [ par ntrvdonett ] Bonsoir,Au risque de faire rire, j'ai un problème de compilation en mettant une class dans un fichier à part, je rame depuis deux heure pour rien, et Variable globale [ par wismerhill__ ] Bonjour, j'ai un gros problème, je voudrais creer des variables accessibles de tous les cppJ'avais donc prevu de 1. Decarer dans un Const.h toutes les probleme avec string [ par slyfer07 ] Bonjour tout le monde,je débute en C++ et je suis en train de réaliser mon premier projet (j'utilise DevC++). Celui-ci comprend mon main.cpp, ainsi qu SVP de l'aide pour la source "distance parcourrue par la souris" [ par banane_rose ] bonjour,voilà je vous présente mon problème :dans cette source y'a les fichiers :2 fichiers header (Resource.h ,<font color="


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,677 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales