Bonjour,
J'essaie de faire un singleton sous visual c++ dans une dll, qui est appelé par d'autres dll de mon programme.
Le projet seul compile parfaitement, mais au moment de la compilation de la solution complète c'est le drame !
Des erreurs à gogo concernant particulièrement ma référence d'objet static.
Imaginon mon singleton avec cett classe Lapin :
J'ai donc beaucoup de messages d'erreur du type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 class AFX_EXT_CLASS Lapin { public : static Lapin* getInstance(); private : Lapin(); static reference Lapin*; } Lapin* Lapin::reference = NULL;
chacune suivie deerror C2491 :'Lapin::reference" : définitionde dllimport données membres static non autorisée
Aussi quelques :fatal error C1903: impossible de récupérer à partir des erreurs précédentes; arrêt de la compilation
Et puis aussi ...error LNK2005: "public: static class Lapin * Lapin::reference" (?ref@Lapin@2PAV1@A) déjà défini(e) dans NomDuneAutreDLL.obj
fatal error LNK1169: un ou plusieurs symboles définis à différentes reprises ont été rencontrés.
Et un petit packet de warning du genre :
Warning C2473: "referenceé : liaison DLL incohérente
Je suis complètement largué par ces erreurs. Est-il au moins possible d'utiliser des variables static dans des dll ?
Bref, si quelqu'un a une idée je suis preneur !
Partager