Qt Company 는 Qt 5 코드를 Qt 6 호환성으로 이식하는 데 도움이 되도록 Clazy 프레임워크 내에서 몇 가지 검사 및 수정 기능을 구현했다. clazy는 clang이 Qt 소스코드를 이해할 수 있게 해주는 분석도구이다. Clazy를 컴파일러 플러그인으로 사용하고 .json 파일에서 clazy-standalone을 사용하거나 Qt Creator 내에서 실행할 수 있다.
Qt 6 포팅 Clazy 검사
가능한 경우 검사는 수정 사항을 제공하지만 그렇지 않은 경우 경고만 한다. 검사는 Qt 5에 대해 실행되어야 하며 수정된 코드는 Qt 6으로 만 컴파일 된다. Clazy가 권장하는 대로 하나씩 검사를 실행하지 말고 함께 실행해야 한다.
다음은 Qt 6 포팅 전용 Clazy 검사 목록이다.
qt6-deprecated-api-fixes
Qt6에서 더 이상 사용되지 않는 API에 대한 경고
qt6-header-fixes
Qt6에서 변경된 헤더에 대해 경고. 코드를 올바른 코드로 바꾼다.
qt6-qhash-signature
qHash에 대한 서명을 경고하고 수정한다. uint qHash(MyType x, uint seed)는 size_t qHash(MyType x, size_t seed)로 대체된다.
qt6-fwd-fixes
이 검사는 <QtCore/qcontainerfwd.h>에 있는 전방선언에 대해 경고. 전방선언이 제거되고, 아직 포함되지 않은 경우 <QtCore/qcontainerfwd.h>가 대신 포함된다.
missing-qobject-macro
Q_OBJECT 매크로가 없는 QObject 파생 클래스를 찾는다.
Qt Creator 내에서 Clazy 검사 및 수정 적용
모든 Clazy 검사를 Qt 6 포팅 전용으로 사용하려면 Qt Creator 버전 4.14.1 이상이 있어야 한다. Qt Creator에서 프로젝트를 연 후 분석 단계에 실행할 Clazy 검사를 선택해야 한다. 이 작업은 'Options' 또는 'Preferences' 창의 'Analyzer'에서 수행된다.
Qt Creator에서 Clazy 검사를 실행하는 방법에 대한 자세한 설명은 다음의 위치에서 찾을 수 있다.
https://doc.qt.io/qtcreator/creator-clang-tools.html
Clazy에 대한 자세한 설명은 다음 링크 페이지에서 얻을 수 있으며 확인 및 수정 사항을 적용하는 방법도 확인할 수 있다.
https://invent.kde.org/sdk/clazy
clazy-standalone 사용 방법에 대한 지침은 여기에 있다.
https://invent.kde.org/sdk/clazy#clazy-standalone-and-json-database-support
다음 주소에는 Qt 6 포팅 전용 페이지이다.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | Qt프로그래밍(QtQuick) Beginner를 위한 글 읽는 순서 | 운영자 | 2019.01.05 | 86906 |
15 | Qt 6.4에 추가될 Qt Quick 3D Physics | makersweb | 2022.08.07 | 395 |
14 | Qt Quick Controls 2에 네이티브 데스크탑 스타일 추가 | makersweb | 2020.11.23 | 529 |
13 | 안드로이드용 Qt 6.2 | makersweb | 2021.10.02 | 559 |
12 | 최초의 Qt 6.0 스냅샷 제공 (First Qt 6.0 Snapshot Available) | j2doll | 2020.06.21 | 645 |
11 | QRhi 에 대해서 | makersweb | 2023.12.29 | 697 |
10 | Qt5Compat 라이브러리를 사용하여 Qt5에서 Qt6로 포팅 [2] | makersweb | 2020.12.05 | 756 |
9 | 싱글 샷(Single-Shot) 시그널/슬롯 연결 | makersweb | 2021.05.12 | 807 |
8 | Qt 6 에서 프로퍼티 바인딩 | makersweb | 2021.04.03 | 823 |
7 | Qt 6의 C++ 프로퍼티 바인딩 예제 | makersweb | 2021.11.01 | 908 |
6 | Qt 5.15 및 Qt 6의 출시 일정 | makersweb | 2020.04.09 | 967 |
» | Qt 5 코드를 Qt 6로 포팅하기 위해 도움이 되는 Clazy Framework | makersweb | 2021.03.01 | 987 |
4 | Qt 6.0의 개발 호스트 및 대상 플랫폼 | makersweb | 2020.09.16 | 1017 |
3 | Qt로 XML 파싱 : Qt 6에서 업데이트된 (Parsing XML with Qt: Updates for Qt 6) [1] | j2doll | 2020.01.16 | 1019 |
2 | Qt 6에서 QList 변경사항 | makersweb | 2020.10.08 | 1051 |
1 | Qt 6의 비동기 API | makersweb | 2020.10.19 | 1272 |