Kaspersky IoT Secure Gateway 1000 SDK

Подключение модулей и библиотек

23 января 2025

ID 273764

Для организации взаимодействия с прикладными и системными программами в Kaspersky IoT Secure Gateway 1000, при разработке ваших программ вам потребуется добавлять в инструкции сборки CMakeLists.txt модули и библиотеки, с которыми ваша программа взаимодействует.

Модуль platform

Модуль platform включает дополнительные библиотеки и функции CMake, требуемые для работы с платформой Kaspersky IoT Secure Gateway 1000:

  • initialize_platform ()

    Функция для инициализации модуля platform и включения правил компоновки программ и библиотек. Скрипт содержит функции для задания флагов компилятора и заголовков проекта.

  • platform/nk

    Библиотека для работы с компилятором NK, использующегося для генерации транспортного кода.

  • platform/install

    Библиотека, содержащая функции для установки программ.

  • platform/storage

    Библиотека, содержащая функции для работы с изолированным файловым хранилищем.

  • platform/doxygen

    Библиотека, содержащая функции для работы с Doxygen. Открывает доступ к функции add_project_documentation_main_target(), использующейся для автоматизированной генерации документации на основе исходных текстов программ.

Модуль platform и его библиотеки подключаются с помощью CMake-функции include().

Пример подключения модуля platform

...

# Подключение и инициализация CMake-библиотеки platform.


include(platform)


initialize_platform()


# Подключение CMake-библиотеки doxygen для документирования исходных текстов.

include(platform/doxygen)

add_project_documentation_main_target()

...

Библиотеки для взаимодействия с системными программами

Для взаимодействия с системными программами и их библиотеками требуется обнаружить их в составе SDK, подключить директории с заголовочными файлами к проекту и включить компоновку. Для разных типов программ требуются подключение различных наборов библиотек, поэтому мы рекомендуем обратить внимание на подключение библиотек в готовых примерах программ в директории /examples/secure_gateway/sdkl3/applications/. Для подключения библиотек в инструкциях сборки CMakeLists.txt используются функции find_package(), include_directories() и target_link_libraries(). Список библиотек, доступных для взаимодействия:

  • vfs

    Библиотека для работы с виртуальной файловой системой.

  • ns

    Библиотека для работы с сервером имен.

  • fmt

    Библиотека, предоставляющая функции форматирования строк.

  • rtl_cpp::full

    Библиотека для работы с кодами возврата.

  • package_manager

    Библиотека для работы с программой PackageManager, использующейся для работы с KPA-пакетами.

  • config_manager

    Библиотека для работы с программой ConfigManager, использующейся для управления конфигурациями программ.

  • routing_table

    Библиотека для работы с программой RoutingTable, использующейся для получения информации о маршрутах данных между программами.

  • messagebus

    Библиотека для работы с программой MessageBus, реализующей шину для обмена сообщениями между программами через IPC-каналы.

  • messaging

    Библиотека messaging, использующаяся для обмена сообщениями между программами.

  • message_stub

    Часть библиотеки messaging, содержащая описание методов отправки и получения сообщений.

  • message_consumer_api

    Часть библиотеки messaging, содержащая описание типов данных и метод для отправки сообщений.

  • logrr_cpp_LIB

    Библиотека logrr_cpp для работы с компонентом LogRR, использующимся для журналирования информации о работе программ.

  • logrr_clog_LIB

    Библиотека logrr_clog для работы с компонентом LogRR, использующимся для журналирования информации о работе программ.

Пример подключения библиотеки messagebus

...

# Подключение пакета messagebus для работы с компонентом MessageBus, реализующим шину сообщений

# для обмена данными между программами через IPC-каналы.

find_package(messagebus REQUIRED)

# Добавление директорий, описанных в переменной messagebus_INCLUDE, к списку директорий поиска заголовочных файлов.

include_directories(${messagebus_INCLUDE})

target_link_libraries(${EXECUTABLE_NAME}

...

${messagebus_CLIENT_LIB}

...

)

...

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!