Erreur LNK2005 " already defined"
Bonjour,
J'ai un fichier Const_Msg.h qui contient des déclarations de numéros de message :
Code:
1 2 3 4 5 6 7 8
|
int ID_MSG_ENTER_NEW_RESOLUTION = 0;
int ID_MSG_WRONG_RESOLUTION= 1;
int ID_MSG_MODE= 2;
int ID_MSG_FIXED_OUTPUT= 3;
int ID_MSG_WIDTH = 4;
int ID_MSG_HEIGHT= 5; |
Ce fichier est inclus dans le fichier dxManager.cpp pour utilisation de ces messages.
D'autre part, winmain.cpp utilise une fonction X (déclarée dans dxManager.h et explicitée dans dxManager.cpp) qui utilise des messages. J'ai donc inclu dans winmain.cpp Const_Msg.h
A l'édition de lien, erreur LNK2005 :
Citation:
"int ID_MSG_ENTER_NEW_RESOLUTION" (?ID_MSG_ENTER_NEW_RESOLUTION@@3HA) already defined in dxManager.obj
...
car double édition de lien sur Const_Msg et j'ai donc modifié Const_Msg.h :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
#ifndef CONST_MSG_H
#define CONST_MSG_H
int ID_MSG_ENTER_NEW_RESOLUTION = 0;
int ID_MSG_WRONG_RESOLUTION= 1;
int ID_MSG_MODE= 2;
int ID_MSG_FIXED_OUTPUT= 3;
int ID_MSG_WIDTH = 4;
int ID_MSG_HEIGHT= 5;
#endif |
L'erreur subsiste, pourquoi ? La directive de compilation à priori fait en sorte que Const_Msg.h ne soit incluse qu'une fois ?
Merci à tous