Bonjour,

J'ai un fichier Const_Msg.h qui contient des déclarations de numéros de message :

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;
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 :

"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 : 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
L'erreur subsiste, pourquoi ? La directive de compilation à priori fait en sorte que Const_Msg.h ne soit incluse qu'une fois ?

Merci à tous