2016-10-26 2 views
0

Я новичок в проекте Yocto. Первоначальная идея заключается в создании пользовательского изображения на основе core-image-full-cmdline (это без оконной системы) и generate Qt5 SDK против этого изображения.Как правильно настроить Qt SDK с проектом Yocto?

  • Так что моя цель, чтобы иметь возможность запускать приложения Qt должен иметь некоторые заголовки, установленные & библиотеки, не? Что я должен указать в моем рецепте изображения?
  • Выполнение $ bitbake my_image -c populate_sdk сгенерирует my_image с поддержкой Qt5 + установщик SDK?

Как я понял, чтобы получить Qt SDK шаги будут:

  1. Скачать и добавить meta-qt5 в bblayers.conf.

  2. Добавить в рецепте изображения, против которого вы хотите построить SDK: inherit populate_sdk_qt5

  3. Настройка SDK сборки (добавить/удалить компоненты). < - Мне нужна помощь. Я хочу только EGLFS поддержки, нет X11/Wayland и Qtwebkit (и idk, может быть, некоторые другие функции, которые я еще не знаю).
  4. bitbake my_image -c populate_sdk

Моя сборка получил ошибку компиляции Wayland, хотя у меня есть это: DISTRO_FEATURES_remove = "x11 wayland"

+0

Заселите-SDK будет генерировать скрипт, который установит все детали, QMAKE, Qt ЛИЭС и заголовки для вашей целевой архитектуры. – LPs

+0

@LPs Мне не нужно ничего больше делать кроме добавления мета-qt5 в bblaers.conf? – anat0lius

+1

Добавляем к bblayers.conf make 'Bitbake', чтобы видеть все рецепты в слое Qt5. Вы должны добавить требуемые пакеты в свой рецепт или в local.conf, например: 'qtbase',' qt3d', 'qtserial' и т. Д. Затем добавьте' inherit populate_sdk_qt5' в свой рецепт, чтобы сделать 'Yocto' возможность установки все компоненты Qt5 в SDK. – LPs

ответ

2

Я сделал несколько ошибок. Таким образом, эти шаги:

  1. Скачать и добавить meta-qt5 в bblayers.conf.

  2. Add to image рецепт, против которого вы хотите построить SDK: inherit populate_sdk_qt5. Теперь задача do_populate_sdk знает цель и будет устанавливать необходимые заголовки и библиотеки на соответствующий sysroot (который понадобится позже, чтобы настроить QtCreator на пример)

    2.1 Как мы собираемся создать SDK, необходимы пакеты dev , Добавьте это к рецепту изображения: IMAGE_FEATURES += "dev-pkgs"

    2.2 Если у нашего дистрибутива нет оконного менеджера: DISTRO_FEATURES_remove = "x11 wayland". Моя ошибка заключалась в том, чтобы поместить это в мой рецепт изображения, но он должен быть установлен на local.conf, поэтому все рецепты знают об этом. More info about Qt backends

    2,3 Я не уверен в этом, но я хотел, чтобы удалить QtWebKit, и я добавил (на local.conf): PACKAGECONFIG_remove_pn-qttools = "qtwebkit" PACKAGECONFIG_remove_pn-qtquick1 = "qtwebkit". Все еще построен модуль qtwebkit. Мне нужно больше узнать об этом.

  3. Построить изображение $ bitbake my_image

  4. Строить SDK $ bitbake my_image -c populate_sdk

Теперь мы получили набор инструментов, необходимых для кросс-компиляции.

0

Вы должны добавить путь мета-qt5 в вашем Conf/bblayers.conf переменной BBLAYERS. Я думаю, это все, что вам нужно для начала.

+0

Я уже сделал это. Поэтому, когда я создаю, bitbake уже «знает», что SDK, который я хочу, это meta-qt5? – anat0lius

0

Если вы хотите добавить Qt5 к изображению на основе SDK, вам необходимо добавить следующую строку в ваш рецепт изображения:

inherit populate_sdk_qt5 
0
  1. Если вы хотите по умолчанию Qt5 SDK использования
    bitbake meta-toolchain-qt5 или
  2. Если вам нужен Qt5 SDK с дополнительными пакетами, то сначала скомпилировать qt5 изображение с необходимыми пакетами после этого компилировать SDK.

    bitbake custom-qt5-image

    bitbake -c do_populate_sdk custom-qt5-image

Смежные вопросы