在这篇文章中通过在一个简单的工程初步了解 Qbs 是怎么构建一个工程的, 涉及到的语言项有 Product, Application, CppApplication, Depends, FileTagger, Group. 涉及到的模块有 cpp 和 qbs 模块.
创建一个简单的工程
按下列步骤创建一个简单的工程, 本系列文章都将基于这个工程来做讲解实验.
- 打开 Qt Creator
- 单击菜单 [文件]->[新建文件或项目] 打开对话框
- 在左边项目下面选择 [Non-Qt Project], 中间选择 [Plain C++ Application], 单击按钮 [Choose…]
- 名称: 输入 QbsDemo, 单击按钮 [下一步]
- 构建系统选择 Qbs, [下一步]
- [下一步]
- [完成]
- 构建运行. 正常的情况应该会在控制台中输出 Hello World!
Product 及其派生出的 CppApplication 和 Application.
打开 QbsDemo.qbs 文件, 可以看到内容如下
import qbs
CppApplication {
type: "application" // To suppress bundle generation on Mac
consoleApplication: true
files: "main.cpp"
Group { // Properties for the produced executable
fileTagsFilter: product.type
qbs.install: true
}
}
对于非 Mac 平台上, 第 4 行的 type: "application" // To suppress bundle generation on Mac
是不需要的. 因为 CppApplication 派生自 Application, 而 Application 已经隐含了 type: "application"
了. 为了更清晰些, 删掉第4行, 构建运行, 可以验证没什么影响.
由上一篇文章我们已经知道 CppApplication 派生自 Application. 其等效于 Application, 加上对 “cpp” 模块的依赖.
将 QbsDemo.qbs 中的内容改成如下, 可以验证之(第 4 行加入了 cpp 模块依赖)
import qbs
Application {
Depends { name: "cpp" }
consoleApplication: true
files: "main.cpp"
Group { // Properties for the produced executable
fileTagsFilter: product.type
qbs.install: