Bisher habe ich herausgefunden, dass ich die Bibliothek als .dll
anstelle von .lib
, /clr
und /EHa
anstelle von /EHsc
neu kompilieren musste. Jetzt habe ich eine gemanagte DLL, die ich als Referenz in meinem C# -Projekt hinzugefügt habe.Wie verwende ich eine C++ - Bibliothek in einer C# -App?
Jetzt wie verwende ich es?
Ich bin bereit, einige Wrapper zu schreiben, aber ich weiß nicht, wo ich anfangen soll oder wie ich "sehen" kann, auf welche Funktionen ich Zugriff habe. Ich habe ein wenig darüber gelesen, wie die Klassennamen und Funktionen vom Compiler gestört werden können ... Muss ich zurückgehen und __declspec
Exporte überall hinzufügen (wenn ja, wie?), Oder gibt es eine Option in VS2010, dass sagt: "Mach es nicht kaputt!"
Die fragliche C++ - Bibliothek befindet sich noch in der Entwicklung, daher hoffe ich, dass ich die C++ - Bibliothek so wenig wie möglich modifizieren kann und sie nur periodisch mit einigen Schaltern neu kompiliere und die neue Funktionalität dann freischalte .
Also ... um die verwalteten Klassen zu erstellen, muss ich das in C++/CLI tun, oder was? Ich brauche ein bisschen mehr, um weiterzumachen. – mpen
Ja, du brauchst mehr, um weiterzumachen, ich würde vorschlagen, die Links zu überprüfen. Es gibt auch einige Tools, um C++ von Microsoft in verwaltetes C++ zu konvertieren, dies kann auch helfen. Check out this: http://stackoverflow.com/questions/151776/are-there-any-tools-for-converting-managed-c-to-c-cli –