In Visual Studio 2005 besteht das Ziel darin, beim Erstellen einer DLL automatisch alle Symbole zu exportieren. ohne manuell __declspec(dllexport)-Anmerkungen hinzuzufügen oder .def-Dateien zu erstellen. Ist das möglich?
Antwort: Ja, das können Sie mit den neuesten Versionen von CMake erreichen (ab Version 3.3.20150721-g9cd2f-win32- x86.exe oder höher). Diese Funktion befindet sich derzeit im Entwicklungszweig und wird in zukünftige Release-Versionen integriert.
Schritte:
Symbolexport aktivieren: Fügen Sie die folgende Zeile zu Ihrer CMakeLists.txt-Datei hinzu:
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
Hinweis: Dieser Ansatz erfordert die Deaktivierung der Gesamtprogrammoptimierung (/GL) während des Kompilierens.
1. Verwenden Sie __declspec(dllexport):
Fügen Sie __declspec(dllexport) oder __declspec(dllimport) manuell vor Klassen- oder Funktionsdefinitionen hinzu, um Symbole explizit zu exportieren oder zu importieren.
2. Erstellen Sie eine Moduldefinitionsdatei (.def):
Schreiben Sie eine .def-Datei, die Funktionsdeklarationen enthält oder Symbole aus einer statischen Bibliothek exportiert.
Das obige ist der detaillierte Inhalt vonKann CMake beim Erstellen einer DLL in Visual Studio automatisch alle Symbole exportieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!