qmake 구성하기

속성

qmake에는 지속적 구성을 위한 시스템이 있어, qmake에서 속성을 한 번 설정하면 qmake가 호출될 때마다 쿼리할 수 있습니다. 다음과 같이 qmake에서 프로퍼티를 설정할 수 있습니다:

qmake -set PROPERTY VALUE

PROPERTYVALUE 에 적절한 속성 및 값을 대체해야 합니다.

다음과 같이 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 - 타겟 빌드 환경에서 사용하는 시스템 루트
  • QT_VERSION - Qt 버전. 대신 $$QT.<module>.version 변수를 사용하여 Qt 모듈별 버전 번호를 쿼리하는 것이 좋습니다.

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

qmake -query "QT_INSTALL_PREFIX"

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

QMAKE_VERS = $$[QMAKE_VERSION]

QMAKESPEC

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

QMAKESPEC 환경 변수는 다음 중 하나를 포함할 수 있습니다:

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

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

캐시 파일

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

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

파일 확장자

일반적인 상황에서 qmake는 플랫폼에 적합한 파일 확장자를 사용하려고 시도합니다. 그러나 각 플랫폼의 기본 선택을 재정의하고 qmake가 사용할 파일 확장자를 명시적으로 정의해야 하는 경우가 있습니다. 이는 특정 내장 변수를 재정의하면 됩니다. 예를 들어, 프로젝트 파일에서 다음과 같은 할당을 사용하여 moc 파일에 사용되는 확장자를 재정의할 수 있습니다:

QMAKE_EXT_MOC = .mymoc

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

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

  • QMAKE_EXT_CPP는 이 접미사가 붙은 모든 파일을 C++ 소스 파일로 해석하도록 합니다.
  • QMAKE_EXT_H는 이러한 접미사가 있는 모든 파일을 C 및 C++ 헤더 파일로 해석하도록 합니다.

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