Qt的编译方式:qmake/cmake/qbs的区别以及如何选择

在使用Qt Creator创建项目时,选择构建工具时,有三个选择:Qmake、Cmake以及Qbs。那么这三者有什么区别呢?我们又该如何选择?

Qt的编译方式:qmake/cmake/qbs的区别以及如何选择

先说结论

  1. Qbs将被官方废弃
  2. Qt6使用qmake和cmake构建
  3. Qt未来用cmake取代qmake位置

Qbs为什么被废弃?

Qt官方声明:因市场原因,弃用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支持将得到进一步改善

Qmake与Cmake的区别?

[postsbox post_id=”5138″]

Qmake

  • 专注于使用Qt的项目
  • QtCreator可以轻松生成项目文件(适合初学者)
  • 由QtCreator支持

CMake

  • 用于广泛的项目
  • 支持多种平台和语言
  • 受多个IDE支持:例如QtCreator,Visual Studio
  • 生成多个IDE的项目描述
  • 包含简化Qt使用的命令(最重要:automoc)

我的建议:如果QtCreator是您的IDE,并且从Qt或C ++开始,请使用qmake。如果要在构建中执行任何复杂的操作,请使用cmake。

根据最初的结论来说,cmake越来越重要,一般的Qt项目就用qmake就足够了,而且比cmake更简单。相对的cmake的使用更加广泛,也是趋势也在,学习cmake肯定没有问题。Qbs就没有必要了!

原创文章,作者:三酷猫,如若转载,请注明出处:https://www.sankumao.com/5136.html

(0)
上一篇 2022年12月30日 上午1:04
下一篇 2022年12月30日 上午1:20

相关推荐

  • vs是什么?Visual Studio如何安装?

    Vs是高度集成的编程环境,使用简单,无需复杂的配置和调试,写c/c++建议使用vs! 一、下载 官网地址:https://visualstudio.microsoft.com/zh…

    2022年12月29日
  • c++ pair用法详解

    今天在刷力扣时,遇到一道题: 原题链接:https://leetcode-cn.com/problems/first-unique-character-in-a-string/ 我…

    2022年4月25日
  • Qt 5.14.2超详细安装教程,不会来打我~

    Qt简介 Qt(官方发音 [kju:t],音同 cute)是一个跨平台的 C++ 开库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序。Q…

    2022年12月29日
  • make makefile cmake qmake都是什么,有什么区别

    gcc 是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(括C、C++、Objective-C、Fortr…

    2022年12月30日
  • 一个最简单的Qt应用程序(Qt基础文件解析)

    根据上文的《使用Qt Creator创建项目》,我们创建了一个最简单的QT项目。生成的文件内容如下,本文将带大家解析一下这些文件。 一、main.cpp 解析: Qt一个类对应一个…

    2023年1月5日
  • Vs2022配置QT5.14.2详细教程!

    为什么用VS写Qt程序 很多人在Qt上写代码时,感觉不是很舒服,所以想在Vs上写Qt程序,而且Vs具有强大的调试能力,所以咱们可以通过一些配置实现此目的。 Vscode和Qt没安装…

    2022年12月29日
  • 使用Qt Creator创建项目

    1.打开Qt Creator 界面选择 New Project或者选择菜单栏 【文件】-【新建文件或项目】菜单项 2.弹出New Project对话框,选择Qt Widgets A…

    2023年1月4日
  • c++ void无返回函数要不要加return?有什么作用?

    return语句是函数中一个重要的语句,return语句用于结束当前正在执行的函数,并将控制权返回给调用此函数的函数。同时也可以返回一个参数。 return语句有两种形式:retu…

    2022年4月25日
  • c++优先队列(priority_queue)用法详解

    优先队列是queue的一种,#include<queue>。不同的就在于我们可以自定义其中数据的优先级, 让优先级高的排在队列前面,优先出队。 优先队列具有队列的所有特…

    C++ 2022年4月19日
  • Qt的命名规范和常用快捷键

    一、命名规范 1.类名:大驼峰 MyClass,QPushButton class MainWindow 2.Qt中内置的类型,头文件和类命名同名。 #include <QS…

    2023年1月5日