본문 바로가기

Qt/qmake

qmake 개요


qmake는 하나 혹은 여러 프로젝트 파일[각주:1]의 내용을 토대로 단일  Makefile[각주:2]을 생성한다. Makefile은 프로젝트[각주:3]빌드 과정[각주:4]을 기술하는 명령들로 구성된다. 

프로젝트 기술하기

프로젝트는 프로젝트 파일(*.pro)에 기술되는 내용이다. qmake는 그 내용을 이용해 해당 프로젝트를 빌드하는데 필요한 모든 명령을 포함하는 Makefile을 생성한다. 따라서, 프로젝트를 기술하려면 프로젝트 파일을 생성하고 그 내용을 qmake가 해석할 수 있는 문법에 맞춰 qmake가 해석할 수 있는 기호들로 채워 넣어야 한다.

프로젝트 파일 생성

프로젝트 파일은 다양한 구성 요소들[각주:5]을 포함할 수 있으나, 간단한 프로젝트는 소스 파일과 헤더 파일 목록, 그리고 기본 구성 옵션만 있으면 된다. 이에 대해서는 MinGW 빌드 용 qmake 프로젝트 생성을 참조하자.

복잡한 프로젝트를 만들려면 더 정교한 프로젝트 파일이 필요하다. 이에 대해서는 Creating Project Files를 참조하자.

새 프로젝트 파일을 생성하기 위해 Qt Creator new project wizard를 이용할 수 있다. 프로젝트 템플릿[각주:6]을 선택하면 Qt Creator가 프로젝트 파일을 생성한다. 생성된 프로젝트 파일은 아무런 수정 없이 바로 빌드 및 실행될 수 있는 상태이며, 사용 목적에 맞게 그 내용을 수정해도 된다.

프로젝트 파일을 만들기 위해 qmake를 사용할 수도 있다. 이에 대해서는 Running qmake를 참조하자.

qmake가 해석할 수 있는 문법 및 기호

프로젝트 파일에서 사용할 수 있는 변수와 함수에 대해서는 Reference를 참조하자.

빌드 과정을 미세조정하기 위해 프로젝트 템플릿을 이용해 특별한 구성 옵션을 명시할 수 있다. 이에 대해서는 Building Common Project Types를 참조하자.

qmake의 기본 구성 속성은 대부분의 크로스 플랫폼 프로젝트를 처리할 수 있지만, 때로는 플랫폼에 특화된 변수를 이용해야 한다. 이에 대해서는 Platform Notes를 참조하자.

프로젝트 빌드하기

프로젝트를 빌드하는 가장 손쉬운 방법은 Qt Creator를 사용하는 것이다. Qt Creator에서 프로젝트를 작성했다면 굳이 명령 프롬프트에서 qmake를 직접 실행시킬 필요는 없다. Qt Creator에서 단축키 Ctrl+B 혹은 Build 메뉴에서 Build Project 혹은 왼쪽 사이드 툴바 제일 아래에 Build Project 아이콘(아래 그림 참고)을 클릭하면 된다. Qt Creator에서 빌드하면 클릭 한 번으로 타겟 파일[각주:7]까지 생성된다.

Qt Creator를 사용하지 않고 프로젝트를 빌드하려면 명령 프롬프트에서 qmake를 직접 실행시켜야 한다. 프로젝트 최상위 디렉토리[각주:8]에서 qmake를 실행시켜 Makefile을 만들고 mingw32-make를 실행시켜 프로젝트를 빌드할 수 있다. 자세한 사항은 MinGW 빌드 용 qmake 프로젝트 생성을 참조하자.

qmake가 빌드 과정을 구성할 때 사용하는 환경 변수에 대해서는 Configuring qmake를 참조하자.

외부 라이브러리 사용하기

Qt/Qt Creator에서 외부 라이브러리 사용하기는 Qt 프로젝트에 third-party 라이브러리를 사용하는 방법을 보여준다.

미리 컴파일된 헤더

규모가 큰 프로젝트에서는 빌드 속도를 올리기 위해 미리 컴파일된 헤더 파일들을 사용하기도 한다. 이에 대해서는 Using Precompiled Headers를 참조하자.


  1. *.pro 파일 [본문으로]
  2. Makefiles 소개 [본문으로]
  3. 애플리케이션, 라이브러리 및 기타 구성 요소 [본문으로]
  4. 컴파일/링킹 [본문으로]
  5. 소스 파일과 헤더 파일의 목록, 일반 구성 정보, 애플리케이션에 필요한 세부 정보(추가 라이브러리 목록, 추가 include 경로 등), 주석, 변수 선언, 내장 함수, 간단한 제어 구조 등 [본문으로]
  6. 애플리케이션, 라이브러리, 기타 등등 [본문으로]
  7. *.exe, *.dll, *.lib, *.a 등 [본문으로]
  8. 프로젝트 파일이 위치한 디렉토리 [본문으로]

'Qt > qmake' 카테고리의 다른 글

MinGW 빌드 용 qmake 프로젝트 생성  (0) 2023.12.25