IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

VC++ .NET Discussion :

Singleton dans dll ?


Sujet :

VC++ .NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    41
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 41
    Par d�faut Singleton dans dll ?
    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 :

    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;
    J'ai donc beaucoup de messages d'erreur du type :

    error C2491 :'Lapin::reference" : d�finitionde dllimport donn�es membres static non autoris�e
    chacune suivie de

    fatal error C1903: impossible de r�cup�rer � partir des erreurs pr�c�dentes; arr�t de la compilation
    Aussi quelques :

    error LNK2005: "public: static class Lapin * Lapin::reference" (?ref@Lapin@2PAV1@A) d�j� d�fini(e) dans NomDuneAutreDLL.obj
    Et puis aussi ...

    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 !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    41
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 41
    Par d�faut
    (Merci buns pour la mise en forme, je t�cherais de m'en souvenir)

    J'ai contourn� le probl�me en rempla�ant ma variable de classe static par une variable globale, mais �a ne m'enchante pas vraiment.

    Disons que c'est une solution interm�diaire en attendant !

  3. #3
    Membre �clair�
    Inscrit en
    Avril 2005
    Messages
    1 110
    D�tails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Par d�faut
    Un truc du genre manquerait-il ?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    __cdecl(dllimport) Lapin* Lapin::reference = NULL;

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Singleton dans une DLL
    Par mister3957 dans le forum C++
    R�ponses: 9
    Dernier message: 24/03/2009, 10h01
  2. Pb curseur dans DLL
    Par dede92 dans le forum Windows
    R�ponses: 5
    Dernier message: 16/03/2005, 12h15
  3. PB pour Appel fonction dans DLL sur Builder3
    Par Fbartolo dans le forum C++Builder
    R�ponses: 15
    Dernier message: 10/03/2005, 12h58
  4. gestionnaire d'Exception dans DLL
    Par pirbd dans le forum Langage
    R�ponses: 2
    Dernier message: 03/03/2005, 18h58
  5. R�ponses: 5
    Dernier message: 11/02/2005, 16h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo