本系列文章起因
自己非常喜欢 QT 这个框架, 使用 QT 这几年, IDE 一直是使用的 QT 自带的 Qt Creator, 这个 IDE 本身比较轻巧, 同事相关的语法提示之类的也算够用, 但是 qmake 有的时候就显得不那么只能了, 有时非得手动qmake一下才行, 有时需要清除再构建, 有时这两者合一起也不一定解决问题. 需要删除构建目录才行. 很多新手学习的时候, 经常会再论坛或群里问, 为什么我的代码和书上的一模一样, 怎么构建时就出错呢? 这种情况, 大多是 qmake “抽风”了. 其实 QBS 刚出来的时候就想试试, 但是被那个自带文档吓住了. 这个春节, 无意中打开 QBS 的文档, 仔细看了下. 同时实践了下, 原来这个东西还是很简单的. 鉴于目前网上对 QBS 的中文资料好像一篇都没有, 特意整理了下自己学习过程中的心得分享出来. 一来可以让自己对 QBS 的认识更加系统, 二来也给有需要的人一个参考.
QBS 总体认识
QBS 即 Qt Build Suite. 同 qmake, cmake 之类一样, 都是构建工具. QBS 号称是下一代的构建工具(我的理解是上一代是基于 makefile 的构建工具?). 不过个人认为, 至少和 qmake 比, 还是要好用很多. 首先文档就比qmake好些, 其次 QBS 的可扩展性真的很强大且易于使用.
QBS 项目文件使用一种类 QML 语言编写的, 其实就是 QML 的简化版, 对于已经学会 QML 的人理解 QBS 应该会更简单(可惜我就不会QML). 对了这是一种声明式语言, 对于习惯了命令式编程语言的, 需要转变下思维, 其实会发现声明式其实更简单.
按 QBS 的自带文档, QBS 的知识可以分 3 大块, 即语言项(Language Item), 模块(Module), 以及其它如 QBS 内建提供的服务之类的. 其中最后一块的知识比较简单, 一般查下文档就会用了. 而模块又是由一系列的语言项组成的. 所以最重要的就是语言项了. 语言项和模块的关系就像 C++ 和 库(例如STL, Qt 等的关系). 对于这