이 페이지에서

플랫폼 관련 참고 사항

많은 크로스 플랫폼 프로젝트는 qmake의 기본 구성 기능만으로도 처리할 수 있습니다. 하지만 일부 플랫폼에서는 플랫폼별 기능을 활용하는 것이 유용하거나 심지어 필수적인 경우도 있습니다. qmake는 이러한 기능 중 상당수를 인식하고 있으며, 해당 기능이 적용되는 플랫폼에서만 효과가 나타나는 특정 변수를 통해 이러한 기능에 접근할 수 있습니다.

macOS, iOS, tvOS 및 watchOS

이 플랫폼들에 특화된 기능으로는 유니버설 바이너리, 프레임워크 및 번들 생성에 대한 지원이 포함됩니다.

소스 및 바이너리 패키지

소스 패키지에 포함된 qmake 버전은 바이너리 패키지에 포함된 버전과 기능 사양이 다르기 때문에 구성 방식이 약간 다릅니다. 소스 패키지는 일반적으로 macx-g++ 사양을 사용하는 반면, 바이너리 패키지는 일반적으로 macx-xcode 사양을 사용하도록 구성됩니다.

각 패키지의 사용자는 -spec 옵션을 사용하여 qmake를 호출함으로써 이 설정을 재정의할 수 있습니다(자세한 내용은 qmake 실행 참조). 예를 들어, 바이너리 패키지의 qmake를 사용하여 프로젝트 디렉터리에 Makefile을 생성하려면 다음 명령을 실행하십시오:

qmake -spec macx-g++

프레임워크 사용

qmake는 macOS의 표준 프레임워크 디렉터리( /Library/Frameworks/)에 있는 프레임워크를 링크하기 위한 빌드 규칙을 자동으로 생성할 수 있습니다.

표준 프레임워크 디렉터리 이외의 디렉터리는 빌드 시스템에 명시해야 하며, 이는 다음 예제와 같이 LIBS 변수에 링커 옵션을 추가하여 수행할 수 있습니다:

LIBS += -F/path/to/framework/directory/

프레임워크 자체는 LIBS 변수에 -framework 옵션과 프레임워크 이름을 추가하여 링크됩니다:

LIBS += -framework TheFramework

프레임워크 생성

어떤 라이브러리 프로젝트든 결과 라이브러리 파일이 프레임워크 내에 배치되어 배포 준비가 완료되도록 구성할 수 있습니다. 이를 위해 프로젝트를 lib 템플릿을 사용하도록 설정하고, CONFIG 변수에 lib_bundle 옵션을 추가하십시오:

TEMPLATE = lib
CONFIG += lib_bundle

라이브러리와 관련된 데이터는 QMAKE_BUNDLE_DATA 변수를 사용하여 지정합니다. 이 변수는 라이브러리 번들과 함께 설치될 항목을 포함하며, 다음 예시와 같이 헤더 파일 모음을 지정하는 데 자주 사용됩니다:

FRAMEWORK_HEADERS.version = Versions
FRAMEWORK_HEADERS.files = path/to/header_one.h path/to/header_two.h
FRAMEWORK_HEADERS.path = Headers
QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS

FRAMEWORK_HEADERS 변수를 사용하여 특정 프레임워크에 필요한 헤더를 지정합니다. 이를 QMAKE_BUNDLE_DATA 변수에 추가하면, 해당 헤더에 대한 정보가 라이브러리 번들과 함께 설치될 리소스 모음에 포함되도록 보장됩니다. 또한 프레임워크 이름과 버전은 QMAKE_FRAMEWORK_BUNDLE_NAME 및 QMAKE_FRAMEWORK_VERSION 변수로 지정됩니다. 기본적으로 이 변수들에 사용되는 값은 TARGET 및 VERSION 변수에서 가져옵니다.

애플리케이션 및 라이브러리 배포에 대한 자세한 내용은 Qt for macOS - 배포를 참조하십시오.

Xcode 프로젝트 생성 및 이동

macOS에서 개발자는 기존 qmake 프로젝트 파일을 바탕으로 Xcode 프로젝트 파일을 생성할 수 있습니다. 예:

qmake -spec macx-xcode project.pro

참고: 나중에 프로젝트를 디스크 상의 다른 위치로 이동하는경우 , 프로젝트 파일을 처리하고 새로운 Xcode 프로젝트 파일을 생성하기 위해 qmake를 다시 실행해야 합니다.

두 개의 빌드 타겟 동시 지원

현재로서는 이를 구현할 수 없습니다. Xcode의 ‘활성 빌드 구성(Active Build Configurations)’ 개념이 qmake의 빌드 타겟 개념과 근본적으로 다르기 때문입니다.

Xcode의 ‘활성 빌드 구성(Active Build Configurations)’ 설정은 Xcode 구성, 컴파일러 플래그 및 이와 유사한 빌드 옵션을 수정하기 위한 것입니다. Visual Studio와 달리, Xcode는 디버그 또는 릴리스 빌드 구성이 선택되었는지에 따라 특정 라이브러리 파일을 선택할 수 있도록 허용하지 않습니다. qmake의 디버그 및 릴리스 설정은 실행 파일에 링크될 라이브러리 파일을 제어합니다.

현재 qmake가 생성한 Xcode 프로젝트 파일을 통해 Xcode 구성 설정에서 파일을 지정하는 것은 불가능합니다. Xcode 빌드 시스템의 ‘프레임워크 및 라이브러리(Frameworks & Libraries )’ 단계에서 라이브러리가 링크되는 방식 때문입니다.

또한, 선택된 ‘활성 빌드 구성 (Active Build Configuration )’은 .pbxuser 파일에 저장되는데, 이 파일은 qmake가 생성하는 것이 아니라 Xcode가 처음 로드될 때 생성하는 파일입니다.

Windows

이 플랫폼에 특화된 기능으로는 Windows 리소스 파일(제공되거나 자동 생성됨) 지원, Visual Studio 프로젝트 파일 생성, Visual Studio 2005 이상으로 개발된 Qt 애플리케이션을 배포할 때 매니페스트 파일 처리 등이 있습니다.

Windows 리소스 파일 추가

이 섹션에서는 qmake를 사용하여 Windows 리소스 파일을 처리하고, 이를 애플리케이션 실행 파일(EXE)이나 동적 링크 라이브러리(DLL)에 링크하는 방법을 설명합니다. qmake는 선택적으로 적절하게 채워진 Windows 리소스 파일을 자동 생성할 수 있습니다.

링크된 Windows 리소스 파일에는 해당 EXE 또는 DLL에서 액세스할 수 있는 여러 요소가 포함될 수 있습니다. 그러나 플랫폼에 구애받지 않는 방식으로 링크된 리소스에 액세스하려면 Qt 리소스 시스템을 사용해야 합니다. 하지만 링크된 Windows 리소스 파일의 일부 표준 요소는 Windows 자체에서 액세스합니다. 예를 들어, Windows 탐색기에서 파일 속성의 ‘버전’ 탭은 리소스 요소들로 채워집니다. 또한, EXE 파일의 프로그램 아이콘도 이러한 요소에서 읽어옵니다. 따라서 Qt로 생성된 Windows EXE 또는 DLL의 경우, Qt 리소스 시스템을 통해 플랫폼 독립적인 리소스를 연결하고, Windows 리소스 파일을 통해 Windows 전용 리소스를 추가하는 두 가지 기법을 동시에 사용하는 것이 권장되는 방법입니다.

일반적으로 리소스 정의 스크립트(.rc 파일)는 Windows 리소스 파일로 컴파일됩니다. Microsoft 툴체인 내에서 RC 도구는 .res 파일을 생성하며, 이 파일은 Microsoft 링커를 통해 EXE 또는 DLL에 링크될 수 있습니다. MinGW 툴체인은 windres 도구를 사용하여 .o 파일을 생성하며, 이 파일은 MinGW 링커를 통해 EXE 또는 DLL에 링크될 수 있습니다.

qmake에 의해 적절하게 채워진 .rc 파일을 선택적으로 자동 생성하려면 VERSION 및 RC_ICONS 시스템 변수 중 적어도 하나를 설정해야 합니다. 생성된 .rc 파일은 자동으로 컴파일되고 링크됩니다. .rc 파일에 추가되는 요소들은 시스템 변수 QMAKE_TARGET_COMPANY, QMAKE_TARGET_DESCRIPTION, QMAKE_TARGET_COPYRIGHT, QMAKE_TARGET_PRODUCT, QMAKE_TARGET_ORIGINAL_FILENAME, QMAKE_TARGET_INTERNALNAME, QMAKE_TARGET_COMMENTS, QMAKE_TARGET_TRADEMARKS, QMAKE_MANIFEST, RC_CODEPAGE, RC_ICONS, RC_LANG 및 VERSION.

이러한 요소만으로는 충분하지 않은 경우, qmake에는 외부에서 생성된 .rc 또는 .res 파일을 직접 가리키는 두 개의 시스템 변수인 RC_FILE과 RES_FILE이 있습니다. 이 변수 중 하나를 설정하면 지정된 파일이 EXE 또는 DLL에 링크됩니다.

참고: RC_FILE 또는 RES_FILE이 설정된 경우, qmake에 의한 .rc 파일생성이 차단됩니다. 이 경우 qmake는 지정된 .rc 파일이나 .res, .o 파일에 더 이상 변경을 가하지 않으며, .rc 파일 생성과 관련된 변수들은 아무런 영향을 미치지 않습니다.

Visual Studio 프로젝트 파일 생성

이 섹션에서는 기존 qmake 프로젝트를 Visual Studio로 가져오는 방법을 설명합니다. qmake는 프로젝트 파일을 사용하여 개발 환경에 필요한 모든 정보를 포함하는 Visual Studio 프로젝트를 생성할 수 있습니다. 이는 qmake 프로젝트 템플릿을 vcapp (애플리케이션 프로젝트용) 또는 vclib (라이브러리 프로젝트용) 중 하나로 설정하여 달성할 수 있습니다.

이 설정은 명령줄 옵션을 사용하여 설정할 수도 있습니다. 예를 들면 다음과 같습니다.

qmake -tp vc

다음 명령을 입력하면 하위 디렉터리에 .vcproj 파일을, 메인 디렉터리에 .sln 파일을 재귀적으로 생성할 수 있습니다:

qmake -tp vc -r

프로젝트 파일을 업데이트할 때마다 qmake를 실행하여 업데이트된 Visual Studio 프로젝트를 생성해야 합니다.

참고: Visual Studio 애드인을 사용하는경우 , Qt > .pro 파일에서 가져오기를 선택하여 .pro 파일을 가져오십시오.

Visual Studio 매니페스트 파일

Visual Studio 2005 이상 버전으로 빌드된 Qt 애플리케이션을 배포할 때는, 애플리케이션 링크 시 생성된 매니페스트 파일이 올바르게 처리되도록 해야 합니다. DLL을 생성하는 프로젝트의 경우 이 작업이 자동으로 처리됩니다.

애플리케이션 실행 파일의 매니페스트 임베딩을 제거하려면 CONFIG 변수에 다음과 같이 할당하면 됩니다.

CONFIG -= embed_manifest_exe

또한, CONFIG 변수에 다음 값을 할당하여 DLL에 대한 매니페스트 임베딩을 제거할 수 있습니다:

CONFIG -= embed_manifest_dll

이에 대한 자세한 내용은 Windows 배포 가이드에서 확인할 수 있습니다.

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