none
Native C++ Anbindung in C# - Probleme mit nativem Singleton RRS feed

  • Allgemeine Diskussion

  • Hallo

    ich versuche eine statische native c++-library in ein c#-Projekt einzubinden. Dazu verwende ich einen c++/cli
    layer, in dem die nativen Klassen gewrappt werden. Das funktioniert soweit auch ganz gut, mittlerweile habe ich
    auch das Problem mit der Verwendung der Boost-library in den nativen Klassen überwunden. Ich verwende
    VS 2005

    Ein neues Problem ergibt sich, wenn ich versuche, innerhalb des nativen Codes ein Singleton zu instantiieren, das
    nach dem Standard-Pattern implementiert ist, dh

    class
    
     Singleton
    {

    public
    :
    static
    Singleton* exemplar();

    protected
    :
    Singleton() {}

    private
    :
    static
    Singleton * instanz;
    };

    Die Singleton Klasse wird nicht im c++/cli-layer gewrappt, sie wird nur innerhalb der nativen Klassen gebaut.

    Der code compiliert und linkt ohne Fehlermeldung, beim Starten des c#-executables kommt aber die Fehlermeldung:
    ModuleLoadException: The C++ module failed to load during native initialization
    dh das Programm springt nicht in den ausführbaren Teil.

    Ist das ein bekanntes Problem für das Lösungen bekannt sind?

    Vielen Dank

    Hans

     

    Donnerstag, 14. Oktober 2010 17:05

Alle Antworten

  • Wann wird das Singleton erzeugt? Schon in einem statischen Objekt.
    Ist dieser Codeteil wirklich nativ?


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Montag, 18. Oktober 2010 06:24
    Moderator