이 페이지에서

QNX용 Qt 빌드

QNX SDP 설정

Qt 6을 빌드하려면 QNX 웹사이트에서 QNX SDP를 다운로드하여 설치해야 합니다.

참고: 적절한라이선스가 필요합니다. 자세한 내용은 QNX에 문의하십시오.

참고: QNX SDP 8.0 설치에 QNX Software Center의 실험용 Wayland 패키지를 추가하지마십시오 . Qt를 빌드하는 데는 필요하지 않지만, Qt 빌드를 구성할 때 헤더 충돌을 일으킬 수 있습니다.

컴파일러 및 툴체인의 다른 구성 요소들은 SDP 패키지에 포함되어 있습니다. 터미널에서 SDP 설치 폴더에 있는 QNX 설정 스크립트를 다음과 같이 실행하여 빌드 환경을 초기화하십시오.

source qnxsdp-env.sh

또는 Windows 명령 프롬프트에서 qnxsdp-env.bat를 실행하십시오.

호스트 빌드

Qt를 크로스 컴파일하려면 호스트용 Qt 빌드가 준비되어 있어야 합니다. 이는 빌드 과정에서 moc, rcc, qmlcachegen, qsb 과 같은 특정 도구들이 호스트 빌드에서 호출되기 때문입니다. 다음 두 가지 옵션이 있습니다:

QNX용 툴체인 파일 생성

CMake를 사용하여 프로젝트를 크로스 컴파일하려면 툴체인 파일이 필요합니다. 이 CMake 언어 파일은 플랫폼 이름, 컴파일러/링커 및 기타 여러 툴체인 관련 항목에 대한 올바른 값을 설정합니다. 참고로, 소스 패키지 coin/provisioning/common/shared/cmake_tool chain_files에서 CI에 사용되는 툴체인 파일을 확인할 수 있습니다.

set(CMAKE_SYSTEM_NAME QNX)
set(CMAKE_SYSTEM_PROCESSOR armle-v7)
set(arch gcc_ntoarmv7le)

set(CMAKE_C_COMPILER qcc)
set(CMAKE_C_COMPILER_TARGET ${arch})
set(CMAKE_CXX_COMPILER q++)
set(CMAKE_CXX_COMPILER_TARGET ${arch})

set(CMAKE_FIND_ROOT_PATH $ENV{QNX_TARGET};$ENV{QNX_TARGET}/${CMAKE_SYSTEM_PROCESSOR})

set(CMAKE_SYSROOT $ENV{QNX_TARGET})

예제 파일은 armv7le 용입니다. 대상 아키텍처에 따라 aarch64le 및 x86_64 도 사용할 수 있습니다.

참고: CMake는 QNX에서 STRIP, AR, RANLIB 및 NM 변수를 올바르게 전달하지 않으므로, 이러한 변수를 사용해야 하는 경우 툴체인 파일에서 별도로 지정해야 합니다.

QNX용 Qt 구성 및 빌드

QNX용 Qt를 구성하고 빌드하려면 다음이 필요합니다.

  • 'Qt 소스 빌드'에 설명된 대로, 호스트 플랫폼에서 Qt를 빌드하는 데 필요한 도구가 설치되어 있고 정상적으로 작동해야 합니다.
  • 이 예에서 $HOME/qnx.cmake 와 같은 툴체인 파일이 있어야 합니다.
  • 체크아웃되거나 설치된 Qt 소스 코드(이 예제의 경우 $HOME/qt 경로).
  • Qt의 호스트 빌드(이 예제의 경우 $HOME/qt-host).
  • 로컬 시스템의 Qt 빌드 설치 위치에 대한 접두사(이 예에서는 $HOME/qnx-install).
  • 대상 장치에 Qt 빌드를 배포할 위치의 접두사입니다. 이 예제에서는 /qt 입니다.

build 디렉터리를 생성하고 해당 디렉터리로 이동한 후, 다음 명령을 실행합니다:

$HOME/qt/configure -nomake examples -nomake tests \
-qt-host-path $HOME/qt-host \
-extprefix $HOME/qnx-install \
-prefix /qt \
-- -DCMAKE_TOOLCHAIN_FILE=$HOME/qnx.cmake  \
-DCMAKE_SYSTEM_VERSION=710  \
$HOME/qt

Qt 6부터 Qt Configuration Tool은 CMake를 감싸는 래퍼 역할을 하며, 실제로 이 configure 명령은 다음과 같은 직접적인 CMake 호출과 동일합니다:

cmake -GNinja -DQT_BUILD_EXAMPLES=OFF -DQT_BUILD_TESTS=OFF \
-DQT_HOST_PATH=$HOME/qt-host \
-DCMAKE_STAGING_PREFIX=$HOME/qnx-install \
-DCMAKE_INSTALL_PREFIX=/qt \
-DCMAKE_TOOLCHAIN_FILE=$HOME/qnx.cmake  \
-DCMAKE_SYSTEM_VERSION=710  \
$HOME/qt

사용 중인 QNX SDP 버전에 따라 CMAKE_SYSTEM_VERSION의 값을 선택하십시오:

  • QNX SDP 7.1의 경우 710
  • QNX SDP 8.0의 경우 800

단일 QNX 버전만 사용하는 경우, 툴체인 파일에서 CMAKE_SYSTEM_VERSION을 정의할 수도 있습니다.

참고: Windows에서 빌드할때는 PCH(사전 컴파일된 헤더)를 명시적으로 비활성화해야 합니다. PCH를 활성화하면 QNX 컴파일러가 중단됩니다. PCH를 비활성화하려면 -no-pch 구성 옵션을 사용하십시오.

참고: QNX SDP 8.0을 사용하는경우 , 구성 옵션 ` -skip qtremoteobjects -skip qtinterfaceframework`을 사용하여 지원되지 않는 모듈과 이에 종속된 모듈을 건너뛰십시오.

오류 없이 구성이 완료되면 다음 명령을 실행하여 Qt를 빌드하십시오:

cmake --build . --parallel

참고: QNX 컴파일러는 호스트 빌드에 사용되는 컴파일러보다 더 많은 메모리를 필요로 할 수 있습니다. 빌드 시 최대 동시 프로세스 수를 제한하려면 --parallel <numOfProcesses> 을 사용하십시오.

빌드가 완료되면 다음 명령을 실행하십시오:

cmake --install .

이렇게 하면 결과물이 $HOME/qnx-install 에 설치됩니다. 여기서 Qt Creator 를 사용하거나, scp를 통해 직접 전송하거나, 다른 방법을 사용하여 Qt 빌드 결과를 대상 기기에 배포할 수 있습니다. -prefix 구성 매개변수(예시에서는 /qt)는 대상 기기상의 배포 위치를 정의합니다.

대상 기기용 애플리케이션 빌드

Qt 빌드가 완료되고 스테이징 위치에 설치되면 예제나 애플리케이션을 빌드할 수 있습니다.

CMake를 사용하는 경우, 스테이징 위치(예:$HOME/qnx-install )의 bin 디렉터리에 생성된 qt-cmake 스크립트를 사용하여 애플리케이션 빌드를 구성한 다음 ninja를 실행합니다. 예:

$HOME/qnx-install/bin/qt-cmake .
cmake --build .

그런 다음 생성된 애플리케이션 바이너리를 기기에 배포할 수 있습니다. qt-cmake 헬퍼 스크립트를 사용하면 Qt 빌드에 사용된 툴체인 파일이 자동으로 로드되므로, 애플리케이션마다 이를 반복해서 지정할 필요가 없어 편리합니다.

사용 중인 컴퓨터에서 직접 빌드하지 않은 Qt 설치본을 사용하는 경우, qt-cmake 는 대상 플랫폼에 대한 CMake 툴체인 파일의 위치를 알아야 합니다.

이 경우, 다음과 같이 ` QT_CHAINLOAD_TOOLCHAIN_FILE ` 변수를 설정하여 qt-cmake 가 사용자 정의 툴체인 파일을 연쇄 로드하도록 지시하십시오:

$HOME/qnx-install/bin/qt-cmake -DQT_CHAINLOAD_TOOLCHAIN_FILE=$HOME/qnx.cmake .

사용자 컴퓨터에서 빌드되지 않은 Qt 설치본을 사용하여 Qt Creator 에서 애플리케이션을 빌드할 때는, 로컬 툴체인 파일을 가리키는 CMAKE_TOOLCHAIN_FILE 변수를 키트 구성(편집 > 환경 설정 > 키트)에 추가해야 합니다.

Qt Creator 를 사용하면서 QNX 장치용 키트를 연결하고 추가하는 방법에 대한 자세한 내용은 QNX 장치 연결을 참조하십시오.

타사 라이브러리

시스템 이미지에 최소 QNX Neutrino RTOS 이미지에는 항상 포함되지 않는 다음의 추가 타사 라이브러리가 포함되어 있는지 확인하십시오:

  • libfontconfig
  • libfreetype
  • libiconv
  • libicui18n
  • libicudata
  • libicuuc
  • libpng16
  • libxml2
  • libsqlite3
  • libssl
  • libcrypto
  • libzstd

참고: 이는 QNX Neutrino OS에서 Qt가 사용하는 공유 라이브러리의 전체 목록이 아닙니다. 일반적인 OS 이미지에는 이미 여러 공유 라이브러리가 포함되어 있거나, Screen 와 같은 시스템의 다른 부분에 포함되어 있을 수 있습니다.

Qt 구성 옵션 및 Qt 구성항목도 참조하십시오 .

© 2026 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.