Dalam Visual Studio 2005, matlamatnya adalah untuk mengeksport semua simbol secara automatik apabila mencipta DLL, tanpa menambah anotasi __declspec(dllexport) atau membuat fail .def secara manual. Adakah ini mungkin?
Jawapan: Ya, anda boleh mencapai ini dengan versi terkini CMake (dari versi 3.3.20150721-g9cd2f-win32- x86.exe dan seterusnya). Ciri ini kini berada dalam cawangan pembangunan dan akan disepadukan ke dalam versi keluaran masa hadapan.
Langkah:
Dayakan Eksport Simbol: Tambahkan baris berikut pada fail CMakeLists.txt anda:
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
Nota: Pendekatan ini memerlukan melumpuhkan Pengoptimuman Seluruh Program (/GL) semasa menyusun.
1. Gunakan __declspec(dllexport):
Tambah __declspec(dllexport) atau __declspec(dllimport) secara manual sebelum definisi kelas atau fungsi untuk mengeksport atau mengimport simbol secara eksplisit.
2. Cipta Fail Definisi Modul (.def):
Tulis fail .def yang mengandungi pengisytiharan fungsi atau simbol eksport daripada perpustakaan statik.
Atas ialah kandungan terperinci Bolehkah CMake Mengeksport Semua Simbol Secara Automatik Apabila Membina DLL dalam Visual Studio?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!