Spec-Zone.ru › Qt

Требования к целевой среде QNX для Qt

QNX Software Systems предоставляет программные решения для создания встроенных устройств. Это включает в себя создание образов загрузки QNX Neutrino RTOS очень гибким способом. Хотя QNX предоставляет несколько справочных скриптов для создания образа ОС, рано или поздно вам потребуется внести изменения или вы можете решить создать образ ОС с нуля. Qt полагается на наличие нескольких компонентов сторонних производителей и выбранных сервисов ОС. По этой причине образы загрузки QNX Neutrino RTOS для целевого устройства, на котором работает Qt, должны соответствовать требованиям, перечисленным в следующих разделах, чтобы обеспечить правильную работу Qt.

Подсистема графики экрана QNX

Прежде чем любое приложение Qt сможет запуститься, должна быть запущена Подсистема графики экрана QNX (также называемая просто «Экран»). Подсистема графики экрана QNX состоит из драйвера и нескольких утилит и сервисов, которые используются Qt. Это также включает обработку событий мыши и клавиатуры. Вы можете убедиться, что Screen настроена и работает правильно, проверив, что графическое приложение, например gles2-gears, может быть запущено и работает без проблем.

Большинство последних скриптов сборки образца ОС в SDP включают разделы со всеми компонентами и командами запуска для экрана. Вы можете использовать их в качестве справочных материалов.

Поддержка IPv6

Стек сетевых протоколов Qt требует поддержки IPv6, независимо от того, используется ли фактическая сеть IPv4 или IPv6.

Предупреждение: io-pkt-v6-hc должна работать, а не io-pkt-v4.

Случайный узел /dev/random

Qt требует /dev/random для присутствия и функциональности. Запустите его перед запуском любого приложения Qt или во время запуска системы:

random -p
waitfor /dev/random

Системный регистратор

QNX предоставляет slog2 — фреймворк регистрации, адаптированный к особенностям встроенных систем. Его основное преимущество — значительно лучшая производительность по сравнению с выводом текста в файлы. Qt по умолчанию использует этот фреймворк для любого вывода регистрации, проходящего через QDebug в QNX Neutrino RTOS. Сервис slog2 должен быть запущен во время запуска системы. slog2 также зависит от существования папки /tmp, которая также должна быть настроена, например:

[type=link] /tmp=/dev/shmem
display_msg "Starting slogger2..."
slogger2 -U1001:1000 &
waitfor /dev/slog2

Переменные среды

При запуске приложения Qt необходимо установить набор переменных среды. Большинство из них не специфичны для QNX Neutrino RTOS. Они все равно упомянуты здесь, так как знание этих переменных просто экономит много времени в случае проблем.

Примечание: setconf и getconf необходимы для доступа к переменным среды POSIX, особенно для имени хоста и даты и времени.

Расположение среды выполнения Qt

Если вы не скомпилировали Qt с установленной переменной среды RPATH, вы можете поместить компоненты среды выполнения Qt в любую папку в файловой системе. Следующие переменные среды должны указывать на допустимые расположения, предполагая, что установка Qt расположена в <Qt-install-path>:

  • LD_LIBRARY_PATH должна содержать путь к библиотекам Qt в <Qt-install-path>/lib.
  • QT_PLUGIN_PATH определяет, где находятся плагины Qt. Она должна быть установлена в <Qt-install-path>/plugins.
  • QML2_IMPORT_PATH определяет, где находятся плагины Qt Quick. Она должна быть установлена в <Qt-install-path>/qml.
  • Если Qt не использует fontconfig, вы должны либо указать путь к шрифтам с помощью QT_QPA_FONTDIR, либо поместить шрифты в <Qt-install-path>/lib/fonts, что является стандартным расположением шрифтов.
  • Проверьте QT_QPA_QNX_DISPLAY_CONFIG для количества и порядка доступных экранов/дисплеев.

Физический размер экрана

Qt нуждается в информации о физических размерах подключенного дисплея для определения значений DPI и, следовательно, для установки корректных размеров шрифтов. Обычно эта информация предоставляется экраном. В некоторых случаях вы можете увидеть неверный размер экрана, например, 0ммx0мм. В таком случае Qt требует переменной среды QQNX_PHYSICAL_SCREEN_SIZE, установленной на соответствующие значения, чтобы получить необходимую информацию. Если приложения Qt выходят с сообщением об ошибке, что физический размер экрана не может быть определен, установите переменную следующим образом перед запуском приложения Qt:

export QQNX_PHYSICAL_SCREEN_SIZE=150,100

чтобы сообщить Qt, что экран имеет ширину 150 мм и высоту 100 мм в этом конкретном случае. Физический размер экрана измеряется в миллиметрах (мм) и должен соответствовать фактическому физическому размеру дисплея в конечной конфигурации.

Устранение неполадок при первом запуске приложения Qt

Единственный недостаток гибкости, предоставляемой QNX Neutrino RTOS, — это риск того, что среда выполнения на вашем целевом устройстве немного отличается от ожидаемой Qt. Это распространенная причина, по которой приложение Qt на новом целевом устройстве не запускается. Некоторые общие переменные среды могут помочь определить причину проблем:

  • Установка QT_DEBUG_PLUGINS на 1 помогает увидеть, почему плагин QPA не может загрузиться.
  • Установка LD_DEBUG на 1 помогает увидеть, где и как загружаются общие библиотеки. Это можно использовать в сочетании с QT_DEBUG_PLUGINS при сбое загрузки плагина, потому что он не смог загрузить другие общие библиотеки.
  • Установка QT_LOGGING_TO_CONSOLE принудительно отправит все сообщения регистрации в stderr вместо slog2. Это полезно для анализа проблем с запуском приложения, так как вам не нужно использовать другой инструмент для просмотра сообщений.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qnx-target-requirements.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API