본문 바로가기
Development Solutions/Qt & QML

Installation Qt on Apple Silicon(m1,m2) (m1 환경에서 Qt 설치)

by studio ODOC 2022. 8. 9.
반응형

Installation Qt on Apple Silicon(m1,m2) (m1 환경에서 Qt 설치)

Qt 설치 패키지를 그대로 설치하면 알아서 잘 설치된다. (2022/08/09 기준)

qt creator에 arm clang 컴파일러로 세팅되어있으면 성공이므로 확인해보고 컴파일 돌려보면 ok !

 

(추천) Qt QML과 C++로 시작하는 크로스플랫폼 앱 개발 강의 - 입문편

https://inf.run/3XmSH

 

Qt QML과 C++로 시작하는 크로스플랫폼 앱 개발 - 입문편 강의 - 인프런

Qt QML과 C++를 사용하여 크로스플랫폼 애플리케이션 개발에 입문할 수 있습니다. 해당 강의에서는 윈도우 응용 프로그램 타겟으로 개발을 진행합니다., 강의 주제 📖 이 강의를 통해 참가자들은

www.inflearn.com

 

 

Qt 공식 홈페이지 링크는 게시글 아래 첨부

반응형

 

작년에 Apple이 새로운 Apple Silicon M1 칩으로 macOS를 arm64로 전환한다고 발표했을 때, 우리는 즉시 Qt에서 네이티브 지원을 프로토타입으로 만들기 시작했습니다. 처음에는 개발자 전환 키트(DTK)로, 나중에는 실운영 하드웨어로도 사용할 수 있게 되었습니다. 로제타 번역 계층은 이미 애플 실리콘에서 기존 Qt 애플리케이션을 실행하는 것을 처리했지만, 우리는 네이티브 arm64 빌드를 원했고, 이 새로운 칩셋에서 모든 힘을 빼내기를 원했다.

다행히도 Qt는 iOS 포트 덕분에 이미 좋은 교차 컴파일 지원과 arm64 지원을 가지고 있었기 때문에 Qt를 Apple Silicon에 올리는데 처음에는 많은 노력이 들지 않았습니다. 하지만 악마는 디테일에 있었다.

한 가지 주요 장애물은 빌드 시스템이 arm64를 macOS에서 지원되는 구성으로 처리할 뿐만 아니라 x86_64와 arm64에 대한 빌드 Qt를 한번에 허용하도록 설득하는 것이었다.

이어서 Chromium, PCRE 및 OpenSSL과 같은 모든 타사 종속성을 사용할 수 있었고 arm64-support로 업데이트되었습니다.

마지막으로, 모든 테스트를 실행할 수 있도록 arm64 macOS를 CI에 추가해야 했습니다. 가상화 옵션이 부족하기 때문에 재고와 추가 작업이 필요했습니다.

이러한 문제가 해결되어 기쁘게 생각하며, 다가오는 Qt 6.2 릴리즈에서 애플 실리콘의 Qt 지원이 예정되어 있습니다. 여기에는 arm64에 대한 크로스 컴파일뿐만 아니라 애플 실리콘에서 Qt 애플리케이션을 개발하는 것도 포함된다.

 

 

Qt 설치 프로그램에서 6.2 미리 보기를 설치하면 Apple Silicon에서 Qt를 이미 사용해 볼 수 있습니다. Qt SDK는 완전히 범용이며 Intel과 Apple Silicon 하드웨어 모두에서 실행되어야 합니다.

Qt 저장소의 6.2 브랜치를 체크아웃하고 소스에서 Qt를 빌드할 수도 있습니다. 기본적으로 Qt는 로컬 아키텍처(예: Intel Mac에 있는 경우 x86_64, Apple Silicon Mac에 있는 경우 arm64)에 맞게 구축됩니다. 범용 빌드를 생성하려면 다음 인수를 추가하여 구성하십시오.

./configure <other options> -- -DCMAKE_OSX_ARCHITECTURE="x86_64;arm64"
Apple Silicon에 대한 Qt 빌드가 있으면 CMake를 일반처럼 사용하여 애플리케이션을 구성하고 빌드할 수 있습니다. 또한 CMake는 기본적으로 로컬 아키텍처용 빌딩으로 설정되어 있으므로 응용 프로그램의 범용 빌드를 생성하려면 다음을 구성할 때 동일한 인수를 추가하십시오.

cmake ~/src/myapp -DCMAKE_OSX_ARCHITECTURE="x86_64;arm64" 
타사 종속성이 있는 경우 범용 바이너리로도 구축되어야 합니다.

Apple Silicon용 Qt 애플리케이션 구축에 대한 자세한 내용은 설명서를 참조하십시오.

Qt Creator에서 빌드 및 디버깅
Qt Creator는 여전히 비범용 바이너리로 구축되어 있기 때문에, 당신의 컴퓨터가 어떤 아키텍처에 있든지 상관없이 기본적으로 x86_64 바이너리를 생산하게 될 것이다.

arm64용으로 빌드하려면 프로젝트 빌드 설정의 "초기 CMake 매개 변수"에 -DCMAKE_OSX_ARCHITURCES=arm64를 명시적으로 추가하거나 QMAKE_APPLE_DEVICE_ARCS=arm64를 qmake "추가 인수" 필드에 추가합니다.

참고: 디버거를 연결하려면 응용 프로그램의 x86_64 빌드가 필요합니다.

이러한 문제는 최종 6.2 릴리스 전에 수정됩니다. 다른 문제가 발견되면 알려주십시오.

 

 

* 따라가며 배우는 Qt 프레임워크 시리즈 보러가기

2023.08.13 - [Book & Lecture/Easy to learn Qt framework] - [Qt Guide][Prologue] Easy to learn Qt framework with QML/C++ (쉽게 배우는 Qt 프레임워크 시리즈 시작!)

 

[Qt Guide][Prologue] Easy to learn Qt framework with QML/C++ (쉽게 배우는 Qt 프레임워크 시리즈 시작!)

[Qt Guide] 쉽게 배우는 Qt 프레임워크 시리즈를 시작합니다! (Easy to learn Qt framework prologue with C++/QML) 개요 (outline) Qt 프레임워크를 여러 방면으로 응용하게 되면서 이를 정리하고 공유하고 싶다는 생

studiodoc.tistory.com

 

Qt on Apple 칩셋 공지

https://www.qt.io/blog/qt-on-apple-silicon

 

Qt on Apple Silicon

A quick summary of how Qt added support for Apple Silicon for the upcoming 6.2 release, and how to try it out today.

www.qt.io

 

반응형