установить модуль qcharts в yocto sdk

Я пытаюсь кросс-компилировать Пример QT Chart для платформа Yocto. Я делаю следующие шаги для компиляции моих программ qt:

  • источник /opt/myimage/2.1.2/environment-setup-cortexa9hf-neon-poky-linux-gnueabi
  • qmake -o Makefile areachart.pro
  • делать

Но когда я добавлю QT += charts для любого проекта запустить qmake как qmake -o Makefile areachart.pro Я ударил эту ошибку:
Project ERROR: Unknown module(s) in QT: charts

Вот вывод qmake -v:

QMake version 3.0
Using Qt version 5.7.0 in /opt/myimage/2.1.2/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/lib

Должен ли я добавить qtcharts модуль мой Yocto SDK быть в состоянии скомпилировать пример? если да как?

По некоторым причинам я смог кросс-компилировать Qt из источника с помощью qtcreator и получите двоичные файлы для примеров qt и саму библиотеку qtchart. Я также запускаю примеры qt на своей целевой платформе, помещая libQtCharts.so и другие файлы вручную в /usr/lib/ а также /usr/include/ на цель, и я смог нарисовать графики на цель.

Однако мне нужно включить диаграммы в мой проект и запустить qmake шаги, как указано выше. Но то, что я получаю, это Project ERROR: Unknown module(s) in QT: charts
Я пытался поставить libQtCharts.so который я получил от компиляции исходного кода QT в /opt/myimage/2.1.2/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/lib но все еще не в состоянии получить файл make с qmake -o Makefile areachart.pro

0

Решение

Как вы указали, вам нужно qtcharts пакет (также с qtcharts-dev чтобы быть точным) в вашем SDK. Вам также нужно qtcharts пакет на вашей цели (т. е. в вашем образе), иначе библиотека времени выполнения будет отсутствовать, когда вы выполните свой двоичный файл на цели.

Добавление пакета зависит от метода построения SDK. Предпочтительным является populate_sdk задача, поэтому я опишу его здесь (он также добавит пакет к вашей цели).

Команда для сборки SDK bitbake your_image -c populate_sdk, Добавьте следующие строки в your_image.bb рецепт, чтобы добавить qtcharts пакет с изображением (строка 1) и другие вещи Qt5 для SDK (строка 2).

IMAGE_INSTALL += "qtcharts"inherit populate_sdk_qt5

Вы также можете поместить эти строки в your_image.bbappend если вы не хотите редактировать рецепт изображения напрямую.

inherit populate_sdk_qt5 является специфическим (и обязательным) для пакетов Qt5, потому что для SDK требуются другие вещи (например, qt.confнекоторые инструменты).

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]