Настройка параметров сборки проекта прикладного решения на C++

26 декабря 2025

ID 255715

Для сборки прикладного решения необходимо указать параметры сборки в файле CMakeLists.txt. Файл CMakeLists.txt должен содержать следующие команды:

  • cmake_minimum_required(VERSION 3.25) 

    Указание минимальной поддерживаемой версии CMake. Для сборки проекта на базе Kaspersky Neuromorphic Platform требуется CMake версии не ниже 3.25.

  • project(<название_проекта>) 

    Указание названия проекта.

  • set(CMAKE_CXX_STANDARD 17) 

    Указание C++ 17 в качестве используемого языкового стандарта.

  • add_subdirectory(<директория_с_исходным_кодом_платформы>) 

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

  • add_executable("${PROJECT_NAME}" <файл_программы>) 

    Указание исполняемого файла.

  • target_link_libraries("${PROJECT_NAME}" PRIVATE <подключаемые_библиотеки_платформы>) 

    Определение библиотек Kaspersky Neuromorphic Platform, которые будут подключены к вашему проекту. Вы можете подключить библиотеки backends, neuron_trits, synapse_traits, core, meta и framework.

Перед сборкой проекта в ОС Windows необходимо определить параметр Boost_ROOT.

Подробнее о конфигурации сборки с помощью CMake см. документацию CMake.

Чтобы настроить параметры сборки проекта прикладного решения на C++:

  1. Перейдите в рабочую директорию.
  2. В рабочей директории создайте файл CMakeLists.txt.
  3. Откройте созданный файл в любом текстовом редакторе и укажите параметры сборки проекта.

    Пример CMakeLists.txt

    cmake_minimum_required(VERSION 3.25)

    # digits-recognition – название проекта.

    project(digits-recognition)

    set(CMAKE_CXX_STANDARD 17)

    # Запускает CMake в директории KNP и добавляет все проекты из директории в сборку.

    add_subdirectory(KNP)

    # Добавляет бинарный файл с исходным кодом в файл программы main.cpp.

    add_executable("${PROJECT_NAME}" main.cpp)

    # Подключает фреймворк и библиотеку однопоточного бэкенда для CPU к проекту digits-recognition.

    target_link_libraries("${PROJECT_NAME}" PRIVATE KNP::BaseFramework::Core KNP::Backends::CPUSingleThreaded)

    При необходимости вы можете загрузить фреймворк динамически.

  4. Сохраните изменения в файле CMakeLists.txt.

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