Categories
科技報導

Qt 開發者討論將 Qt 5 代碼移植到 Qt 6 的工具



雖然 Qt 作為開源項目的未來還不太清楚,但現在看來一切都在順利推進中。 Qt 開發團隊的郵件列表顯示他們正在討論一個將 Qt 5 代碼移植到 Qt 6 的工具。此工具基於 Clang,可幫助開發者自動將所有 Qt 5 語法轉換為與 Qt 6 兼容。

{GJ%OV%{ETI}G2IW_9Z4RAX.png

如果這個工具能夠在很大程度上將大多數 Qt 5 代碼轉換為 Qt 6 兼容的用法,那麼它就可以極大地幫助提升 Qt 6 的採用率。

Qt 公司的 Vitaly Fanaskov 認為官方應該提供基於 Clang 的工具,將用戶的代碼庫(半)自動移植到新版本的 Qt
上。這些工具可能還需要具備對代碼進行修復的功能,或者至少在可能存在問題的地方添加一個註釋,以便用戶對代碼進行修正。修改 API
的開發者也應該為這些工具實現一個規則。當然也需要稍微調整一下 API 設計指南。

如果確實能夠(半)自動將 Qt 5 代碼轉換為 Qt 6 代碼,或者至少降低編碼的門檻,這無疑是一個有趣的概念。 LLVM/Clang
已經被用於自動代碼格式化、代碼翻譯和其他創新用例,所以這並非不可能的事情。但目前還沒有人真正寫出這個實用程序,也不清楚 Qt
公司自己是否打算這麼做。

反對這個提議的觀點是,Clang 無法編譯所有使用 Qt
的代碼庫,所以它不能通用,而且這種轉換代碼也還沒有被寫出來。除此之外,自動生成的代碼也往往不如手寫的代碼好。 Qt 6
將在2020年年底首次亮相,這個提議是否會被採用,又能否提升 Qt 6 的採用率,不妨拭目以待。