플랫폼 참고 사항
많은 크로스 플랫폼 프로젝트는 기본 qmake 구성 기능으로 처리할 수 있습니다. 그러나 일부 플랫폼에서는 플랫폼별 기능을 활용하는 것이 유용하거나 필요한 경우도 있습니다. qmake는 관련 플랫폼에서만 적용되는 특정 변수를 통해 액세스할 수 있는 이러한 기능에 대해 많이 알고 있습니다.
macOS, iOS, tvOS 및 watchOS
이러한 플랫폼에 특정한 기능에는 유니버설 바이너리, 프레임워크 및 번들 생성을 위한 지원이 포함됩니다.
소스 및 바이너리 패키지
소스 패키지로 제공되는 qmake 버전은 다른 기능 사양을 사용한다는 점에서 바이너리 패키지로 제공되는 버전과 약간 다르게 구성됩니다. 소스 패키지가 일반적으로 macx-g++
사양을 사용하는 경우, 바이너리 패키지는 일반적으로 macx-xcode
사양을 사용하도록 구성됩니다.
각 패키지의 사용자는 -spec
옵션으로 qmake를 호출하여 이 구성을 재정의할 수 있습니다(자세한 내용은 qmake 실행하기 참조). 예를 들어 바이너리 패키지의 qmake를 사용하여 프로젝트 디렉터리에 메이크파일을 만들려면 다음 명령을 호출합니다:
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 변수에서 가져옵니다.
애플리케이션 및 라이브러리 배포에 대한 자세한 내용은 macOS용 Qt - 배포를 참조하십시오.
Xcode 프로젝트 생성 및 이동
macOS에서 개발자는 기존 qmake 프로젝트 파일에서 Xcode 프로젝트 파일을 생성할 수 있습니다. 예를 들어
qmake -spec macx-xcode project.pro
참고: 나중에 프로젝트를 디스크에서 이동하는 경우, 프로젝트 파일을 처리하고 새 Xcode 프로젝트 파일을 생성하려면 qmake를 다시 실행해야 합니다.
두 개의 빌드 대상 동시 지원
액티브 빌드 구성의 Xcode 개념은 빌드 타겟의 qmake 개념과 개념적으로 다르기 때문에 현재로서는 이를 구현하는 것이 불가능합니다.
Xcode 활성 빌드 환경 설정은 Xcode 환경 설정, 컴파일러 플래그 및 유사한 빌드 옵션을 수정하기 위한 설정입니다. Visual Studio와 달리 Xcode에서는 디버그 또는 릴리스 빌드 구성이 선택되었는지 여부에 따라 특정 라이브러리 파일을 선택할 수 없습니다. qmake 디버그 및 릴리스 설정은 실행 파일에 링크되는 라이브러리 파일을 제어합니다.
현재 qmake로 생성된 Xcode 프로젝트 파일에서는 Xcode 구성 설정에서 파일을 설정할 수 없습니다. 라이브러리가 링크되는 방식은 Xcode 빌드 시스템의 프레임워크 및 라이브러리 단계에서 결정됩니다.
또한 선택한 활성 빌드 구성은 qmake가 생성하는 것이 아니라 처음 로드할 때 Xcode에서 생성하는 .pbxuser 파일에 저장됩니다.
Windows
이 플랫폼에 특화된 기능으로는 Windows 리소스 파일(제공 또는 자동 생성) 지원, Visual Studio 프로젝트 파일 생성, Visual Studio 2005 이상을 사용하여 개발한 Qt 애플리케이션을 배포할 때 매니페스트 파일 처리 등이 있습니다.
Windows 리소스 파일 추가하기
이 섹션에서는 응용 프로그램 실행 파일(EXE) 또는 동적 링크 라이브러리(DLL)에 링크하기 위해 qmake로 Windows 리소스 파일을 처리하는 방법을 설명합니다. qmake는 선택적으로 적절하게 채워진 Windows 리소스 파일을 자동 생성할 수 있습니다.
링크된 윈도우 리소스 파일은 EXE나 DLL에서 접근할 수 있는 많은 요소를 포함할 수 있습니다. 그러나 플랫폼에 독립적인 방식으로 링크된 리소스에 액세스하려면 Qt 리소스 시스템을 사용해야 합니다. 그러나 링크된 윈도우 리소스 파일의 일부 표준 요소는 윈도우 자체에서 액세스합니다. 예를 들어, Windows 탐색기에서 파일 속성의 버전 탭은 리소스 요소로 채워집니다. 또한 EXE의 프로그램 아이콘은 이러한 요소에서 읽습니다. 따라서 Qt로 만든 Windows EXE나 DLL은 Qt 리소스 시스템을 통해 플랫폼 독립적인 리소스를 연결하고 Windows 리소스 파일을 통해 Windows 전용 리소스를 추가하는 두 가지 기법을 동시에 사용하는 것이 좋습니다.
일반적으로 리소스 정의 스크립트(.rc 파일)는 Windows 리소스 파일로 컴파일됩니다. Microsoft 툴체인 내에서 RC 도구는 .res 파일을 생성하며, 이 파일은 Microsoft 링커를 사용하여 EXE 또는 DLL에 연결할 수 있습니다. MinGW 툴체인은 windres 툴을 사용하여 MinGW 링커를 통해 EXE 또는 DLL에 연결할 수 있는 .o 파일을 생성합니다.
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용 배포 가이드에서 자세히 설명합니다.
© 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.