Qt 크로스 컴파일
이 페이지에서는 Qt 크로스 컴파일의 일반적인 절차와 요구 사항을 설명합니다.
단순히 호스트용 Qt를 빌드하는 방법을 찾고 있다면, ‘Qt 호스트 빌드 생성’을 참조하십시오.
용어 및 정의
크로스 컴파일이란 호스트 플랫폼과 다른 대상 플랫폼을 위해 구성하고 빌드하는 것을 의미합니다.
호스트는 Qt를 빌드하는 컴퓨터로, 예를 들어 리눅스 머신을 말합니다. 타깃은 Qt를 빌드하려는 기기로, 예를 들어 안드로이드 태블릿을 말합니다.
Qt를 빌드할 때, 코드를 생성하거나 다른 처리를 수행하는 여러 도구가 실행됩니다. 이러한 도구는 호스트에서 실행되므로 호스트 도구라고 합니다. 이러한 호스트 도구는 Qt의 호스트 빌드의 일부입니다. 대상 플랫폼용 Qt를 빌드하기 위해서는 이 호스트 빌드를 미리 준비해야 합니다.
Qt의 최소 호스트 빌드란, Qt의 타겟 빌드를 생성하는 데 필요한 호스트 도구만 포함된 Qt 호스트 빌드를 말합니다.
Qt는 CMake를 사용하여 빌드되며, CMake는 크로스 컴파일 시 툴체인 파일이 필요합니다. 이 파일에는 대상 플랫폼 및 사용되는 툴체인에 대한 정보가 포함되어 있습니다. 크로스 컴파일에 대한 자세한 내용은 CMake 문서를 참조하십시오.
일부 대상 플랫폼의 경우, Qt configure 스크립트가 해당 파일을 자동으로 선택합니다. 자세한 내용은 원하는 대상 플랫폼에 대한 관련 문서를 참조하십시오.
일부 대상 플랫폼의 경우 sysroot를 지정해야 합니다. sysroot는 애플리케이션의 컴파일 및 링크에 필요한 모든 파일과 라이브러리를 포함하는 독립적인 환경입니다.
Qt 호스트 빌드에 대한 일반적인 참고 사항
대상 플랫폼용 Qt를 빌드하는 동안 moc, rcc, qmlcachegen, qsb 등의 도구가 해당 위치에서 호출됩니다. 예를 들어, x64 머신에서 ARM용으로 크로스 컴파일하는 경우, 먼저 동일한 Qt 버전의 로컬 x64 빌드를 준비해야 합니다. 이 Qt 빌드의 경로는 configure 또는 cmake 에 전달됩니다. 호스트용 Qt 빌드는 일반적으로 사용자의 호스트 장치용 Qt의 일반 빌드입니다.
호스트용 Qt 빌드에는 대상 플랫폼용 Qt를 빌드하는 데 필요한 모든 호스트 도구가 포함되어 있어야 합니다. 예를 들어, 대상 Qt가 Qt Quick 를 지원해야 하는 경우, 호스트 Qt에는 셰이더 컴파일러인 qsb가 포함되어 있어야 합니다. 호스트 Qt가 필요한 모든 도구를 제공하는지 확인하는 쉬운 방법은, 대상 플랫폼에서 필요하게 될 것과 동일한 Qt 모듈을 호스트에서 직접 빌드해 보는 것입니다.
대상 Qt가 공유(shared) 방식으로 빌드된 경우, 호스트 Qt를 정적(static) 방식으로 빌드하지 마십시오. 정적 방식으로 빌드된 Qt에는 공유 Qt를 빌드하는 데 필요한 모든 도구가 포함되어 있지 않을 수 있습니다.
호스트와 대상 Qt에서 동일한 버전의 Qt를 사용하여 비호환성 문제를 방지하십시오.
Qt의 호스트 빌드 생성
해당 플랫폼용 Qt를 빌드하는 방법에 대한 자세한 내용은 원하는 호스트의 문서를 참조하십시오.
최소 구성의 호스트용 Qt를 빌드하려면 Qt를 구성한 후 다음 빌드 명령을 사용하십시오.
mkdir ~/QtHostBuild
cd ~/QtHostBuild
~/QtSource/configure -developer-build -nomake tests
cmake --build . --target host_tools이 빌드는 호스트 플랫폼용 Qt 프로그램을 개발하는 데는 적합하지 않지만, Qt를 크로스 빌드하는 데 필요한 도구는 포함되어 있습니다.
크로스 컴파일 시 호스트용 Qt 빌드 지정
크로스 컴파일 시, 대상 Qt가 호스트 Qt의 위치를 가리키도록 설정해야 합니다.
configure 스크립트를 사용할 때는 다음을 사용합니다.
~/QtSource/configure -qt-host-path ~/QtHostBuild ...target-specific options...CMake를 직접 사용할 때는 다음을 사용합니다.
cmake -S ~/QtSource -DQT_HOST_PATH=~/QtHostBuild ...target-specific options...대상별 옵션에 대해서는 원하는 대상의 문서를 참조하십시오.
© 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.