CMake 프로젝트에서 Qt 사용 가능 만들기
현재 사용자 프로젝트에서 Qt를 사용할 수 있도록 하는 유일한 지원 방법은 시스템에 미리 설치되어 있거나, Qt를 미리 빌드해서 find_package
(예: vcpkg
).
를 사용할 때 Qt Creator 또는 qt-cmake
(Windows의 경우qt-cmake.bat
)를 사용하는 경우, Qt 설치 위치는 자동으로 기본 CMake 호출로 전달됩니다.
cmake
을 직접 사용하는 경우, CMake에서 사용하는 일반적인 검색 경로는 사용자가 아닌 대부분의 Qt 설치 경로를 포함해야 합니다. 사용할 Qt 패키지를 보다 세밀하게 제어하려면 https://cmake.org/cmake/help/latest/variable/PackageName_ROOT.html Qt6_ROOT
을 Qt 설치 경로를 가리키는 환경 또는 캐시 변수로 전달하거나 비슷한 방식으로 CMAKE_PREFIX_PATH
에 추가하거나 추가할 수 있습니다. 예를 들어 설치 경로가 "~/Qt/6.9.1/gcc_64"
인 경우 명령줄에 -DQt6_ROOT=$HOME/Qt/6.9.1/gcc_64
으로 전달할 수 있습니다.
참고: 크로스 컴파일(사용 중인 플랫폼이 아닌 다른 플랫폼(예: WebAssembly 또는 Android)을 위해 컴파일)하거나 바닐라 cmake
를 사용할 때는 Qt6_ROOT
또는 CMAKE_PREFIX_PATH
와 같은 검색 경로 대신 CMAKE_TOOLCHAIN_FILE
을 설정합니다. Linux에서 (특정 대상 플랫폼에 특정한) 툴체인 파일은 일반적으로 다음과 유사한 경로에 위치합니다: "~/Qt/6.9.1/wasm_singlethread/lib/cmake/Qt6/qt.toolchain.cmake"
. CMAKE_PREFIX_PATH
, CMAKE_FIND_ROOT_PATH
, QT_HOST_PATH
와 같은 필수 변수를 설정합니다.
cmake_minimum_required(VERSION 3.16) project(helloworld) find_package(Qt6 REQUIRED)
Qt 패키지는 프로젝트의 범위에 따라 포함해야 하는 다양한 모듈로 나뉘는데, 가장 기본적인 모듈은 다음과 같습니다.
find_package(Qt6 REQUIRED COMPONENTS Core)
최신 CMake는 FetchContent
와 같은 다른 종속성 제공자를 지원하지만, Qt 기능이 CMake 자체에 긴밀하게 통합되어 있기 때문에 FetchContent
와 함께 Qt를 사용하는 것은 지원되지 않습니다. add_subdirectory
및 Git 서브모듈을 통해 Qt 소스를 추가하는 것도 지원되지 않습니다.
참고: find_package(Qt6)
을 사용하는 위치가 아닌 다른 하위 디렉터리 또는 function
내부에서 호출하는 것은 지원되지 않습니다. 이렇게 하면 예상치 못한 위치에서 다양한 오류가 발생할 수 있습니다.
대신 Qt 함수를 사용하는 모든 하위 디렉터리 범위에서 find_package(Qt6)
을 반복적으로 호출하거나 find_package(Qt6)
호출을 CMakeLists.txt
루트로 이동하세요.
© 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.