Beim Erstellen einer DLL in Visual Studio 2005 kann es umständlich sein, einzelne Symbole oder manuell zu exportieren Verwenden Sie Moduldefinitionsdateien (.def). Dieser Artikel bietet eine Lösung zum automatischen Exportieren aller Symbole, ohne dass langwierige Deklarationen erforderlich sind.
Die neueste CMake-Version (>= 3.3.20150721-g9cd2f) bietet eine Funktion, die dies ermöglicht Automatischer Symbolexport. Durch Hinzufügen von set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) zur Datei CMakeLists.txt exportiert der Compiler alle Symbole, ohne dass manuelle Anmerkungen erforderlich sind.
Vorteile:
Einschränkungen:
CMake verwendet den folgenden Ansatz:
Um diese Funktion zu nutzen, erstellen Sie ein CMake-Projekt mit der folgenden CMakeLists.txt Datei:
cmake_minimum_required(VERSION 2.6) project(myproject) set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) set(SOURCE_EXE main.cpp) include_directories(...) add_executable(main ${SOURCE_EXE}) target_link_libraries(main ...)
Kompilieren Sie das Projekt und die DLL wird mit allen automatisch exportierten Symbolen erstellt.
Es gibt andere Methoden zum Exportieren von Symbolen, z als:
Diese Ansätze können jedoch im Vergleich zur CMake-Lösung zeitaufwändiger sein oder Einschränkungen aufweisen.
Das obige ist der detaillierte Inhalt vonWie kann ich beim Erstellen einer DLL in Visual Studio mit CMake automatisch alle Symbole exportieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!