Как объединить conan_toolchain.cmake и yocto OEToolchainConfig.cmake?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Гость
 Как объединить conan_toolchain.cmake и yocto OEToolchainConfig.cmake?

Сообщение Гость »


У меня есть проект на C++, который я компилирую с помощью yocto sdk. Я начинаю использовать conan 2.0 в качестве менеджера пакетов для получения сторонних библиотек для моего проекта на C++.

Я создал файл conanfile.txt в корне моего проекта, используя генераторы cmake:

[генераторы] CMakeDeps CMakeToolchain Я также создал профили хост и сборку:
[*]conan_profile_cross_build
[настройки] арка = x86_64 build_type=Выпуск компилятор = gcc компилятор.cppstd=gnu17 компилятор.libcxx=libstdc++11 компилятор.версия=12 ОС = Linux [*]conan_profile_cross_host [настройки] арка=armv8 build_type=Выпуск компилятор = gcc компилятор.cppstd=gnu17 компилятор.libcxx=libstdc++11 компилятор.версия=12 ОС = Linux Чтобы использовать его, я запускаю conan install и вывожу результаты в папку сборки, которая впоследствии будет использоваться cmake.

conan install /src --profile:build=conan_profile_cross_build " f"--profile:host=conan_profile_cross_host " f" --build=отсутствует --output-folder=build Проблема Чтобы позволить cmake находить зависимости, вы должны вызвать cmake с файлом цепочки инструментов: cmake -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake

Однако при сборке с помощью yocto sdk вы берете исходный файл среды: source Environment-setup-armv8a-enchanted_tools-linux, и он создает псевдоним cmake это уже устанавливает для CMAKE_TOOLCHAIN_FILE значение OEToolchainConfig.cmake, которое находится где-то внутри SDK.

cmake допускает только один файл цепочки инструментов, поэтому я не могу использовать их оба.

В документации conan я видел, что вам следует отредактировать OEToolchainConfig.cmake, что я и сделал, но это не решает проблему, заключающуюся в том, что я могу выбрать только один файл цепочки инструментов.
Вопрос
Как я могу использовать SDK и позволить cmake находить пакеты, предоставленные conan? Может быть, есть что-то сделать в профиле хоста conan? Или этот рабочий процесс не является хорошей идеей, и мне следует установить зависимости напрямую в yocto sdk? Я также компилирую этот проект на собственном рабочем столе Ubuntu Linux, и здесь Конан отлично работает. Идея состоит в том, чтобы легко протестировать новые зависимости, прежде чем приступать к их интеграции в yocto и восстановлению всего пакета SDK.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»