Сборка динамических библиотек
Для сборки динамических библиотек требуется использовать тулчейн, который поддерживает динамическую компоновку.
Чтобы выполнить сборку динамической библиотеки, нужно использовать следующую CMake
-команду:
При использовании этой CMake
-команды возникает ошибка, если тулчейн не поддерживает динамическую компоновку.
Также можно выполнить сборку динамической библиотеки следующей CMake
-командой:
При этом shell-команду cmake
нужно вызвать с параметром -D BUILD_SHARED_LIBS=YES
. (Если вызвать shell-команду cmake
без параметра -D BUILD_SHARED_LIBS=YES
, будет выполнена сборка статической библиотеки.)
Пример:
По умолчанию имя файла библиотеки совпадает с именем цели сборки, заданным через параметр CMake
-команды add_library()
. Имя файла библиотеки можно изменить, используя CMake
-команду set_target_properties()
. Это можно использовать, чтобы имя файла библиотеки было одинаковым для ее динамического и статического варианта.
Пример:
Динамическая библиотека может быть скомпонована с другими статическими и динамическими библиотеками CMake
-командой target_link_libraries()
. При этом статические библиотеки должны быть собраны с флагом -fPIC
. Этот флаг применяется при сборке статической библиотеки, если используется следующая CMake
-команда: