Qt 开发者讨论将 Qt 5 代码移植到 Qt 6 的工具-冯金伟博客园

  虽然 Qt 作为开源项目的未来还不太清楚,但现在看来一切都在顺利推进中。Qt 开发团队的邮件列表显示他们正在讨论一个将 Qt 5 代码移植到 Qt 6 的工具。此工具基于 Clang,可帮助开发者自动将所有 Qt 5 语法转换为与 Qt 6 兼容。

  如果这个工具能够在很大程度上将大多数 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 的采用率,不妨拭目以待。