한국어
Qt
 

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'에서 수행된다.

Clazy.png

 

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 포팅 전용 페이지이다.

https://doc.qt.io/qt-6/portingguide.html

번호 제목 글쓴이 날짜 조회 수
공지 Qt프로그래밍(QtQuick) Beginner를 위한 글 읽는 순서 운영자 2019.01.05 86046
139 멀티 스레드환경, 스레드에 안전한 이벤트처리 makersweb 2016.10.27 5026
138 C++로 구현된 모델을 QML의 ListView에서 참조 file makersweb 2019.09.07 4931
137 Qml 기본 컴포넌트 강좌 (3) - 배치(positioning) 컴포넌트 file 운영자 2019.02.10 4886
136 Qt 멀티 스레드 프로그래밍 시 유의해야 할 몇 가지 makersweb 2020.01.13 4880
135 QNetworkAccessManager를 통해 HTTP POST 하는 예제 makersweb 2019.01.17 4789
134 Qt응용프로그램 실행 시 콘솔창(터미널)같이 띄우기 file makersweb 2019.01.16 4495
133 Windows에서 Qt D-Bus를 사용하여 프로세스간 통신(IPC) file makersweb 2019.05.02 4493
132 라즈베리파이4에 대한 Qt 5.14.1 크로스컴파일 [1] file makersweb 2020.02.12 4452
131 QML에서 동적으로 텍스트 다국어 처리 file makersweb 2018.11.04 4225
130 Qt기반의 오픈소스 프로젝트들 - 2 운영자 2019.07.21 4014
129 QPA 플러그인과 EGLFS file makersweb 2017.11.21 3934
128 열거형(enum)을 QML에서 사용하는 방법과 문자열(QString)로 얻기 makersweb 2019.08.20 3895
127 QML에서 앵커(anchors)로 위치 지정 file makersweb 2021.10.05 3855
126 Qt 를 사용하거나 기반으로 하는 응용프로그램 file makersweb 2021.01.30 3831
125 Qt 3D Studio 시작하기 file makersweb 2018.01.11 3829
124 Qt Logging Rule, Qt 프레임워크 로그 출력 makersweb 2017.01.13 3706
123 Qml에서 키보드 입력 이벤트 핸들링 file makersweb 2018.08.09 3600
122 Qt Bluetooth를 이용한 시리얼(Serial) 통신 file makersweb 2019.02.17 3582
121 Qt Version확인 방법 makersweb 2018.03.29 3524
120 QML, 이미지, 폰트등을 바이너리 리소스로 만들기 makersweb 2019.06.24 3518