浅谈Qt的编译方式:qmake/cmake/qbs及qbs被弃用的原因

浅谈Qt的编译方式:qmake/cmake/qbs及qbs被弃用的原因Qbs 作为 Qt 的下一代构建系统 因其编译速度快和高级项目描述特性而被引入 但因市场采用率低 Qt 官方决定弃用 Qbs 转向重点支持 CMake

大家好,欢迎来到IT知识分享网。

浅谈Qt的编译方式:qmake/cmake/qbs及qbs被弃用的原因

1、Qbs简介

  • https://doc.qt.io/qbs/qml-qbsmodules-qbs.html
  • Qt 编译方式之 qbs

QBS(Qt Build Suite)同 qmake、cmake 之类一样都是构建工具。QBS 号称是新一代的构建工具,比qmake编译速度更快。

和qmake不一样,qbs没有绑定Qt版本,它从项目文件的高级项目描述中生成一个正确的编译表(依赖表)。而传统的MakeFile生成工具比如qmake和CMake生成了makefile文件,然后将实际的命令留给make或者ninja这样的工具去执行。Qbs的另一方面就是充当了并行生成与直接调用编译器、连接器以及其他工具的角色,非常像SCons和Ant做的事情。

和qmake不一样,qbs没有绑定Qt版本,它从项目文件的高级项目描述中生成一个正确的编译表(依赖表)。而传统的MakeFile生成工具比如qmake和CMake生成了makefile文件,然后将实际的命令留给make或者ninja这样的工具去执行。Qbs的另一方面就是充当了并行生成与直接调用编译器、连接器以及其他工具的角色,非常像SCons和Ant做的事情。

Declarative语言
qbs的语法是一个简化版本的qml,提供了对IDE友好的软件项目的展示。它同样提供了自由使用任何JavaScript表达式进行属性绑定的支持。
万事从 “Hello world” 开始,我们创建一个最基础的程序来看下 qbs 如何构建项目:

2、Qt官方声明:因市场原因,弃用Qbs

Deprecation of Qbs

Qt公司一直在为Qt程序支持三种不同的构建系统。对于Qt用户,qmake是当前使用最广泛的构建系统。CMake是第二名,并且越来越受欢迎。第三名是Qbs,采用率明显降低。当被问及他们的喜好时,我们的大多数客户都说他们计划将来使用CMake或qmake。

我们已决定弃用Qbs,并重定向资源以增加对CMake的支持。Qbs将与Qt Creator 4.9一起一直支持到2019年底,最后计划于2019年4月发布。Qbs既可以通过商业许可也可以通过开源许可获得,我们很高兴继续为Qt Project社区提供进一步开发的基础设施。

总结要点:

  • Qbs将继续得到支持,直到2019年底
  • 最新的Qbs版本将于2019年4月发布
  • Qbs继续与即将推出的Qt Creator 4.8和Qt Creator 4.9一起使用
  • Qt项目下将提供Qbs库和工具,以供社区进一步开发
  • 对qmake的支持将继续不受影响
  • 对CMake的支持将得到改善
  • 从长远来看,我们计划切换到CMake来构建Qt本身
  • Qt Creator中的CMake支持将得到进一步改善
    弃用Qbs使我们能够显著改善CMake支持。我们相信这一变化将帮助越来越多的客户喜欢使用CMake构建系统。CMake在Qt以外的广泛采用以及其积极的开发生态系统也是有益的。

3、Qt6将重点支持CMake

cmake的优点是在C ++生态系统中使用非常广泛(KDE以及其他许多应用程序一样),在许多IDE和其他工具(例如VCPkg,Conan等)中都有非常广泛的支持,并且知识很多关于生态系统中可用的构建系统。将其与Qt 6一起使用还意味着我们可以将支持重点放在针对用户的两个构建系统(qmake和cmake)上,而不必在组合中添加第三个。

从长远来看,我们想逐步淘汰qmake来构建Qt本身,而改用CMake。即使在此之后,qmake仍可用于构建应用程序。我们当然会继续提供预编译的二进制文件,这是大多数Qt用户所喜欢的。

4、结论

(1)Qbs被官方废弃

(2)Qt6使用qmake和cmake构建

(3)Qt未来用cmake取代qmake位置

reference

  • 浅谈Qt的编译方式:qmake/cmake/qbs及qbs被弃用的原因

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/148362.html

(0)
上一篇 2025-03-31 18:45
下一篇 2024-12-16 19:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信