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

1、Qbs简介

https://doc.qt.io/qbs/qml-qbsmodules-qbs.html

https://blog.csdn.net/qq_34139994/article/details/98478648

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

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

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

https://www.qt.io/blog/2018/10/29/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位置

 

-----

推荐一款强大的C++ IDE,使用CMake构建项目

https://www.jetbrains.com/clion/

 

©️2020 CSDN 皮肤主题: 成长之路 设计师:Amelia_0503 返回首页