Beim Erstellen einer DLL mit Visual C++ 2008 habe ich ein paar Möglichkeiten. Ich kann eine "Class Library" erstellen, die ich verstehe, wird mir tatsächlich eine .Net-Bibliothek geben, die die CLI (verwalteten) Erweiterung von C++ verwendet.Unmanaged Klassen aus einer Visual C++ DLL exportieren?
Da ich das nicht möchte, und ich nehme an, dass ich eine statische .LIB-Datei zum Verknüpfen mit einem anderen ausführbaren Visual C++ - Windows-Projekt benötigen, wähle ich stattdessen "Win32-Projekt" und geben Sie im Fenster Anwendungseinstellungen ein C++ (keine MFC) DLL.
Dies wird ein Projekt mit einer CPP-Datei erstellen, die ich sein soll, wo ich "die exportierten Funktionen für die DLL-Anwendung" definieren.
Das scheint nicht das zu sein, was ich auch will. Im Grunde ist das, was ich suche, das native C++ - Äquivalent dessen, was in C# .NET eine Klassenbibliotheksbaugruppe wäre. Ich möchte einige Klassen in eine DLL packen, dann ein .EXE-Projekt verwenden Sie die DLL-Klassen, indem Sie die DLL-Projekt-Header-Dateien und Link mit einer .LIB, um Referenzen zu lösen.
Was ist der übliche Weg, dies zu tun?
Großartig. Und eine ähnliche Vorgehensweise auf der anderen Seite zu importieren? – Buggieboy
Schauen Sie sich an, was der automatisch generierte Code macht. Das Makro dilexport/import basiert auf einer Precompiler-Direktive, so dass der Konsument nicht über Import und Export nachdenken muss. – ctacke
Siehe meine Antwort hier für eine Ausarbeitung darüber, worüber ctacke spricht (http://stackoverflow.com/questions/1179103/visual-studio-2005-linker-problem/1179118#1179118) –