Bonjour,
J'ai un fichier Const_Msg.h qui contient des déclarations de numéros de message :
Ce fichier est inclus dans le fichier dxManager.cpp pour utilisation de ces messages.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
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 :
..."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 :
L'erreur subsiste, pourquoi ? La directive de compilation à priori fait en sorte que Const_Msg.h ne soit incluse qu'une fois ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci à tous
Partager