Apabila mencipta DLL dalam Visual Studio 2005, mungkin menyusahkan untuk mengeksport simbol individu secara manual atau gunakan fail definisi modul (.def). Artikel ini menyediakan penyelesaian untuk mengeksport semua simbol secara automatik tanpa memerlukan pengisytiharan yang membosankan.
Versi CMake terkini (>= 3.3.20150721-g9cd2f) menawarkan ciri yang membolehkan pengeksportan simbol automatik. Dengan menambahkan set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) pada fail CMakeLists.txt, pengkompil mengeksport semua simbol tanpa memerlukan anotasi manual.
Kelebihan:
Kehadan:
CMake menggunakan pendekatan berikut:
Untuk menggunakan ini ciri, buat projek CMake dengan fail CMakeLists.txt berikut:
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 ...)
Kompilasikan projek, dan DLL akan dibuat dengan semua simbol dieksport secara automatik.
Terdapat kaedah lain untuk mengeksport simbol, seperti:
Walau bagaimanapun, pendekatan ini boleh memakan masa yang lebih lama atau mempunyai had berbanding dengan penyelesaian CMake.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeksport Semua Simbol Secara Automatik Apabila Mencipta DLL dalam Visual Studio Menggunakan CMake?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!