在Visual Studio 2005 中建立DLL 時,手動匯出單一符號或使用模組定義( .def) 檔案。本文提供了一種自動導出所有符號的解決方案,無需繁瑣的聲明。
最新的 CMake 版本(>= 3.3.20150721-g9cd2f)提供了一個功能,可以啟用自動符號匯出。透過在 CMakeLists.txt 檔案中新增 set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON),編譯器可以匯出所有符號,無需手動註解。
優點:
限制:
CMake 使用下列方法:
要使用此功能,請使用以下CMakeLists.txt 建立一個CMake 項目file:
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 ...)
編譯項目,將會建立DLL,並自動導出所有符號。
還有其他導出符號的方法,例如如:
但是,與CMake 解決方案相比,這些方法可能更耗時或有局限性。
以上是在Visual Studio中使用CMake建立DLL時如何自動匯出所有符號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!