Генерация плоских буферов windows разделяемой библиотеки с помощью CMake - PullRequest
1 голос
/ 19 июня 2020

Я пытаюсь сгенерировать Windows общую библиотеку (dll) плоских буферов Google (https://github.com/google/flatbuffers) с помощью CMake. Я использовал следующую команду cmake, но она всегда генерирует библиотеку stati c (* .lib) при ее создании.

cmake .. -G "Visual Studio 16 2019" -DBUILD_SHARED_LIBS=ON

Я также пробовал параметры CMAKE_IMPORT_LIBRARY_SUFFIX и CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS с помощью CMake. К сожалению, он всегда генерирует * .lib

Что мне нужно сделать для создания * .dll?

1 Ответ

1 голос
/ 19 июня 2020

В коде CMake Flatbuffers есть опция CMake FLATBUFFERS_BUILD_SHAREDLIB здесь :

option(FLATBUFFERS_BUILD_SHAREDLIB
       "Enable the build of the flatbuffers shared library"
       OFF)

Вы можете установить эту опцию при вызове CMake, чтобы включить общий сборка библиотеки:

cmake .. -G "Visual Studio 16 2019" -DFLATBUFFERS_BUILD_SHAREDLIB=ON

Для дальнейшего использования вы можете перечислить все кэшированные переменные CMake, используя:

cmake -LH

Это покажет все определенные FLATBUFFERS_* параметров, которые вы можете настроить для сборки.

...