Портирование библиотеки C ++ под CMake в Windows.
- Вариант 1: Украсьте API с помощью
__declspec(dllexport)
. - Вариант 2:
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
.
Мы выбираем вариант 2, так как он кажется намного проще и оставляет наши источники нетронутыми.Работает как прелесть: наше приложение компилируется и связывается с библиотекой dll.
Однако оно обеспечивает только экспорт классов и функций.Что нужно сделать для экспорта глобальных переменных?Как в:
lib_source.cpp:
int my_secret;
app.cpp:
extern int my_secret;