翻譯|使用教程|編輯:鮑佳佳|2021-06-30 10:48:57.793|閱讀 1206 次
概述:Qt官方在 Clazy 框架中實(shí)施了一些檢查和修復(fù),以幫助您將應(yīng)用程序從 Qt 5 移植到 Qt 6,Clazy 檢查可以在編譯期間作為插件運(yùn)行,也可以使用clazy-standalone. 稍后會(huì)應(yīng)用修復(fù)程序。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Qt官方在 Clazy 框架中實(shí)施了一些檢查和修復(fù),以幫助您將應(yīng)用程序從 Qt 5 移植到 Qt 6。用他們自己的話說(shuō):“Clazy 是一個(gè)編譯器插件,它允許 clang 理解 Qt 語(yǔ)義”。獲取 Clazy ( ) 并繼續(xù)閱讀以更順暢地移植到 Qt 6。
Qt開(kāi)發(fā)工具推薦:
Clazy 檢查可以在編譯期間作為插件運(yùn)行,也可以使用clazy-standalone. 稍后會(huì)應(yīng)用修復(fù)程序,使用clang-apply-replacements.
以下檢查專門用于簡(jiǎn)化從 Qt 5 到 Qt 6 的移植。
檢查必須針對(duì) Qt 5 運(yùn)行。固定代碼只會(huì)針對(duì) Qt 6 進(jìn)行編譯。因此,必須一次性運(yùn)行上述檢查。Clazy 建議一次運(yùn)行一個(gè)測(cè)試以避免在應(yīng)用修復(fù)時(shí)發(fā)生沖突,但是當(dāng)將這些檢查作為插件運(yùn)行時(shí),這不是一個(gè)選項(xiàng)。
如何設(shè)置您的項(xiàng)目以與 Clazy 一起運(yùn)行以及如何選擇和應(yīng)用檢查在這里有完整的解釋://invent.kde.org/sdk/clazy#setting-up-your-project-to-build-with-clazy。
如果您不想將檢查作為插件運(yùn)行,而是通過(guò) JSON 編譯數(shù)據(jù)庫(kù)運(yùn)行,則需要使用clazy-standalone. 有關(guān)說(shuō)明,請(qǐng)參閱//invent.kde.org/sdk/clazy#clazy-standalone-and-json-database-support。
簡(jiǎn)而言之,假設(shè)您安裝了最新的 Clazy 版本,下面將解釋作為插件運(yùn)行檢查所需的操作。
設(shè)置您的項(xiàng)目以與 Clazy 一起運(yùn)行。
根據(jù)您的操作系統(tǒng)的需要,將以下行添加到您的 qmake 命令中:
-spec linux-clang QMAKE_CXX="clazy" -spec macx-clang QMAKE_CXX="clazy"
對(duì)于帶有 MSVC 的 Windows,添加QMAKE_CXX="clazy-cl.bat".
運(yùn)行 qmake。
添加:--DCMAKE_CXX_COMPILER=clazy到 cmake 命令。
運(yùn)行 cmake。
選擇檢查:
export CLAZY_CHECKS="qt6-deprecated-api-fixes, qt6-header-fixes, qt6-qhash-signature, qt6-qlatin1stringchar-to-u, qt6-fwd-fixes"
啟用修復(fù):
export CLAZY_EXPORT_FIXES=ON
設(shè)置 Clazy 忽略的目錄:
export CLAZY_IGNORE_DIRS=.*lib_dir.*
這將阻止對(duì)庫(kù)文件運(yùn)行 Clazy 檢查。如果庫(kù)的路徑包含在-Iand-F而不是-isystemand 中,則這是必要的-framework。qt-header-fixes如果觸發(fā)檢查的頭文件包含在包含的庫(kù)文件中,這對(duì)于避免檢查警告也是必要的。
編譯你的代碼。
在編譯期間.yaml,在源文件旁邊創(chuàng)建文件。
要應(yīng)用 fixits,請(qǐng)運(yùn)行:
clang-apply-replacements <path_to_yaml_files>
這將修改源文件,考慮備份您的代碼。
并非所有移植都可以通過(guò)自動(dòng)修復(fù)來(lái)完成。對(duì)于必須手動(dòng)更改的代碼,請(qǐng)仔細(xì)查看編譯期間的警告。
====================================================
想要了解或購(gòu)買Qt正版授權(quán)的朋友,歡迎
Qt技術(shù)交流群現(xiàn)已開(kāi)通,QQ搜索群號(hào)“765444821”或者掃描下方二維碼即可加入
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: