QNX용 Qt 런타임 대상 요구 사항

QNX 소프트웨어 시스템은 임베디드 장치 제작을 위한 소프트웨어 솔루션을 제공합니다. 여기에는 매우 유연한 방식으로 QNX Neutrino RTOS 부팅 이미지 생성이 포함됩니다. QNX는 OS 이미지 생성을 위한 몇 가지 참조 스크립트를 제공하지만 조만간 변경해야 하거나 처음부터 OS 이미지를 생성해야 할 수도 있습니다. Qt는 여러 타사 구성 요소와 선택된 OS 서비스의 존재에 의존합니다. 따라서 Qt가 예상대로 작동하려면 Qt를 실행하는 대상 장치에 대한 QNX Neutrino RTOS 부팅 이미지가 다음 섹션에 나열된 요구 사항을 충족해야 합니다.

QNX 화면 그래픽 하위 시스템

Qt 응용 프로그램을 시작하기 전에 QNX 화면 그래픽 하위 시스템 (그냥 "화면"이라고도 함)이 실행되어야 합니다. Screen 는 드라이버와 Qt에서 사용하는 여러 유틸리티 및 서비스로 구성되어 있습니다. 여기에는 마우스 및 키보드 이벤트 처리도 포함됩니다. gles2-gears 과 같은 그래픽 애플리케이션이 문제 없이 시작되고 실행되는지 확인하여 Screen 이 올바르게 구성되고 실행되고 있는지 확인할 수 있습니다.

SDP에 있는 대부분의 최신 샘플 OS 빌드 스크립트에는 화면에 대한 모든 구성 요소와 시작 명령이 포함된 섹션이 포함되어 있습니다. 이를 참조로 사용할 수 있습니다.

IPv6 지원

Qt의 네트워킹 스택은 실제 네트워킹이 IPv4를 사용하든 IPv6를 사용하든 관계없이 IPv6 지원을 활성화해야 합니다.

경고: io-pkt-v4아닌io-pkt-v6-hc 이 실행 중이어야 합니다.

임의의 장치 /dev/random

Qt를 사용하려면 /dev/random 이 존재하고 작동해야 합니다. Qt 애플리케이션을 시작하기 전 또는 시스템 시작 중에 시작하십시오:

random -p
waitfor /dev/random

시스템 로거

QNX는 임베디드 시스템의 특성에 맞춘 slog2 로깅 프레임워크를 제공합니다. 이 프레임워크의 가장 큰 장점은 파일에 텍스트로 출력하는 것보다 훨씬 뛰어난 성능입니다. Qt는 기본적으로 이 프레임워크를 QNX Neutrino RTOS의 QDebug 를 통해 출력되는 모든 로깅에 사용합니다. slog2 서비스는 시스템 시작 시 시작되어야 합니다. slog2 또한 /tmp 폴더의 존재 여부에 따라 달라지므로 이 폴더도 구성해야 합니다:

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

환경 변수

Qt 애플리케이션을 시작할 때 설정해야 하는 환경 변수 세트가 있습니다. 대부분의 환경 변수는 실제로 QNX Neutrino RTOS에만 국한되지 않습니다. 하지만 이 변수들을 알고 있으면 문제 발생 시 많은 시간을 절약할 수 있기 때문에 여기에 언급했습니다.

참고: setconfgetconf 은 특히 호스트 이름과 시간 및 날짜에 대한 POSIX 환경 변수에 액세스하는 데 필요합니다.

Qt 런타임 위치

RPATH 환경 변수를 설정한 상태로 Qt를 빌드하지 않은 경우, 파일 시스템의 아무 폴더에나 Qt 런타임 컴포넌트를 배치할 수 있습니다. 다음 환경 변수는 Qt 설치가 <Qt-install-path> 에 있다고 가정할 때 유효한 위치를 가리켜야 합니다:

  • LD_LIBRARY_PATH<Qt-install-path>/lib 에 있는 Qt 라이브러리 경로를 포함해야 합니다.
  • QT_PLUGIN_PATH 는 Qt 플러그인의 위치를 정의합니다. <Qt-install-path>/plugins 로 설정해야 합니다.
  • QML2_IMPORT_PATHQt Quick 플러그인의 위치를 정의합니다. <Qt-install-path>/qml 로 설정해야 합니다.
  • Qt가 fontconfig를 사용하지 않는 경우, 글꼴 경로를 QT_QPA_FONTDIR 로 제공하거나 기본 글꼴 위치인 <Qt-install-path>/lib/fonts 아래에 글꼴을 배치해야 합니다.
  • 사용 가능한 화면/디스플레이의 수와 순서는 QT_QPA_QNX_DISPLAY_CONFIG 에서 확인하세요.

물리적 화면 크기

Qt는 연결된 디스플레이의 물리적 크기에 대한 정보가 있어야 DPI 값을 결정하여 올바른 글꼴 크기를 설정할 수 있습니다. 일반적으로 이 정보는 화면에서 제공합니다. 경우에 따라 0mmx0mm와 같은 잘못된 화면 크기가 표시될 수 있습니다. 이러한 경우 Qt는 필요한 정보를 얻기 위해 환경 변수 QQNX_PHYSICAL_SCREEN_SIZE 를 적절한 값으로 설정해야 합니다. Qt 응용 프로그램이 실제 화면 크기를 확인할 수 없다는 오류 메시지와 함께 종료되는 경우, Qt 응용 프로그램을 시작하기 전에 다음과 같이 변수를 설정하십시오:

export QQNX_PHYSICAL_SCREEN_SIZE=150,100

이 경우 화면의 너비가 150mm, 높이가 100mm임을 Qt에 알립니다. 물리적 화면 크기는 밀리미터(mm) 단위로 측정되며 최종 구성에서 디스플레이의 실제 물리적 크기와 일치해야 합니다.

Qt 애플리케이션의 첫 시작 문제 해결하기

QNX Neutrino RTOS가 제공하는 유연성의 유일한 단점은 대상에서 실행 환경이 Qt에서 예상하는 것과 약간 다를 수 있다는 위험입니다. 이는 새 타겟에서 Qt 애플리케이션이 시작되지 않는 일반적인 이유입니다. 몇 가지 일반적인 환경 변수를 사용하면 문제의 근본 원인을 찾는 데 도움이 될 수 있습니다:

  • QT_DEBUG_PLUGINS1 으로 설정하면 QPA 플러그인이 로드되지 않는 이유를 파악하는 데 도움이 됩니다.
  • LD_DEBUG1 으로 설정하면 공유 라이브러리가 로드되는 위치와 방법을 확인하는 데 도움이 됩니다. 이는 다른 공유 라이브러리를 로드할 수 없어 플러그인을 로드하지 못한 경우 QT_DEBUG_PLUGINS 와 함께 사용할 수 있습니다.
  • QT_LOGGING_TO_CONSOLE 을 설정하면 모든 로깅 메시지를 slog2 대신 stderr 으로 강제로 전송합니다. 이 경우 메시지를 보기 위해 다른 도구를 사용할 필요가 없으므로 애플리케이션 시작 문제를 분석하는 데 유용합니다.

Qt는 일반적으로 fontconfig 를 사용하여 시스템 폰트에 대한 액세스를 제공합니다. 폰트 캐시가 이전에 생성되지 않았다면, 첫 번째 Qt 어플리케이션을 시작할 때 생성됩니다. 설정에 따라 매우 오랜 시간이 걸리고 애플리케이션 시작이 상당히 지연될 수 있습니다. 필요하지 않은 경우 구성 시 -DFEATURE_fontconfig=OFF로 fontconfig를 비활성화할 수 있습니다.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.