이 페이지에서

qmake 구성

속성

qmake에는 영구적인 구성 시스템이 있어, qmake에서 속성을 한 번만 설정해도 qmake가 호출될 때마다 해당 속성을 조회할 수 있습니다. qmake에서 속성을 설정하는 방법은 다음과 같습니다:

qmake -set PROPERTY VALUE

PROPERTY 와 VALUE 에는 적절한 속성과 값을 대입해야 합니다.

qmake에서 이 정보를 다음과 같이 다시 가져올 수 있습니다:

qmake -query PROPERTY
qmake -query #queries all current PROPERTY/VALUE pairs

참고: ` qmake -query `에는 ` qmake -set PROPERTY VALUE`을 통해 설정한 속성 외에도 내장 속성이 나열됩니다.

이 정보는 QSettings 객체에 저장됩니다(즉, 플랫폼에 따라 서로 다른 위치에 저장됨을 의미합니다).

다음 목록은 built-in 속성을 요약한 것입니다:

  • QMAKE_SPEC - 호스트 빌드 과정에서 해결되어 QMAKESPEC 변수에 저장되는 호스트 mkspec 의 짧은 이름
  • QMAKE_VERSION - qmake의 현재 버전
  • QMAKE_XSPEC - 타겟 빌드 중에 해결되어 QMAKESPEC 변수에 저장되는 타겟 mkspec 의 짧은 이름
  • QT_HOST_BINS - 호스트 실행 파일의 위치
  • QT_HOST_DATA - qmake가 사용하는 호스트 실행 파일의 데이터 위치
  • QT_HOST_LIBS - 호스트 라이브러리의 위치
  • QT_HOST_LIBEXECS - 런타임 시 호스트 라이브러리에 필요한 실행 파일의 위치
  • QT_HOST_PREFIX - 모든 호스트 경로의 기본 접두사
  • QT_INSTALL_ARCHDATA - 아키텍처에 종속된 일반 Qt 데이터의 위치
  • QT_INSTALL_BINS - Qt 바이너리(도구 및 애플리케이션)의 위치
  • QT_INSTALL_CONFIGURATION - Qt 설정 파일의 위치. Windows에서는 적용되지 않음
  • QT_INSTALL_DATA - 아키텍처와 무관한 일반 Qt 데이터의 위치
  • QT_INSTALL_DOCS - 문서 위치
  • QT_INSTALL_EXAMPLES - 예제 파일의 위치
  • QT_INSTALL_HEADERS - 모든 헤더 파일의 위치
  • QT_INSTALL_LIBEXECS - 런타임 시 라이브러리에 필요한 실행 파일의 위치
  • QT_INSTALL_LIBS - 라이브러리의 위치
  • QT_INSTALL_PLUGINS - Qt 플러그인의 위치
  • QT_INSTALL_PREFIX - 모든 경로의 기본 접두사
  • QT_INSTALL_QML - QML 2.x 확장 기능의 위치
  • QT_INSTALL_TESTS - Qt 테스트 케이스의 위치
  • QT_INSTALL_TRANSLATIONS - Qt 문자열에 대한 번역 정보의 위치
  • QT_SYSROOT - 대상 빌드 환경에서 사용하는 sysroot
  • QT_VERSION - Qt 버전. 대신 $$QT.<module>.version 변수를 사용하여 Qt 모듈별 버전 번호를 조회하는 것을 권장합니다.

예를 들어, ` QT_INSTALL_PREFIX ` 속성을 사용하여 이 버전의 qmake에 대한 Qt 설치 정보를 조회할 수 있습니다:

qmake -query "QT_INSTALL_PREFIX"

프로젝트 파일에서 속성의 값을 다음과 같이 조회할 수 있습니다:

QMAKE_VERS = $$[QMAKE_VERSION]

QMAKESPEC

qmake는 적절한 Makefile을 생성하는 데 사용되는 많은 기본값이 포함된 플랫폼 및 컴파일러 설명 파일을 필요로 합니다. 표준 Qt 배포판에는 Qt 설치 디렉터리의 mkspecs 하위 디렉터리에 이러한 파일들이 다수 포함되어 있습니다.

QMAKESPEC 환경 변수에는 다음 중 하나를 지정할 수 있습니다:

  • qmake.conf 파일이 포함된 디렉터리의 전체 경로. 이 경우 qmake는 해당 디렉터리 내의 qmake.conf 파일을 엽니다. 파일이 존재하지 않으면 qmake는 오류와 함께 종료됩니다.
  • 플랫폼-컴파일러 조합의 이름. 이 경우 qmake는 Qt 컴파일 시 지정된 데이터 경로의 mkspecs 하위 디렉터리에 지정된 디렉터리에서 파일을 검색합니다( QLibraryInfo::DataPath 참조).

참고: QMAKESPEC 경로는 생성된 Makefile에 INCLUDEPATH 시스템 변수의 내용 뒤에 자동으로 추가됩니다.

캐시 파일

캐시 파일은 qmake가 qmake.conf 파일, 프로젝트 파일 또는 명령줄에 지정되지 않은 설정을 찾기 위해 읽는 특수 파일입니다. qmake가 실행되면, -nocache 를 지정하지 않은 한 현재 디렉터리의 상위 디렉터리에서 .qmake.cache 라는 파일을 찾습니다. qmake가 이 파일을 찾지 못하면, 이 처리 단계를 아무런 메시지 없이 건너뜁니다.

qmake가 .qmake.cache 파일을 찾으면, 프로젝트 파일을 처리하기 전에 이 파일을 먼저 처리합니다.

파일 확장자

일반적으로 qmake는 사용 중인 플랫폼에 적합한 파일 확장자를 사용하려고 시도합니다. 그러나 때로는 각 플랫폼에 대한 기본 설정을 재정의하고 qmake가 사용할 파일 확장자를 명시적으로 정의해야 할 필요가 있습니다. 이는 특정 내장 변수를 재정의함으로써 가능합니다. 예를 들어, moc 파일에 사용되는 확장자는 프로젝트 파일에서 다음과 같은 할당문을 통해 재정의할 수 있습니다:

QMAKE_EXT_MOC = .mymoc

다음 변수들을 사용하여 qmake가 인식하는 일반적인 파일 확장자를 재정의할 수 있습니다:

위의 변수들은 모두 첫 번째 값만 허용하므로, 프로젝트 파일 전체에서 사용될 단 하나의 값만 할당해야 합니다. 값의 목록을 허용하는 변수는 두 가지가 있습니다:

  • QMAKE_EXT_CPP는 qmake가 이 확장자를 가진 모든 파일을 C++ 소스 파일로 해석하도록 합니다.
  • QMAKE_EXT_H는 qmake가 해당 접미사를 가진 모든 파일을 C 및 C++ 헤더 파일로 해석하도록 합니다.

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