capnproto.cpp
为 C++ 语言提供对 Cap'n Proto 的支持。 更多信息...
| 自 | Qbs 1.17 |
属性
详细说明
capnproto.cpp 模块通过使用 capnpc 工具从 proto 定义文件生成 C++ 头文件和源文件,提供对 Cap'n Proto 的支持。
一个简单的 qbs 文件使用 Cap'n Proto 可以写成如下:
CppApplication { Depends { name: "capnproto.cpp" } files: ["foo.capnp", "main.cpp"] }
生成的头文件现在可以包含在 C++ 源文件中
#include <foo.capnp.h> int main(int argc, char* argv[]) { ::capnp::MallocMessageBuilder message; auto foo = message.initRoot<Foo>(); foo.setAnswer(42); return 0; }
相关的文件标签
| 标签 | 自动标记的文件名 | 自 | 描述 |
|---|---|---|---|
"capnproto.input" | *.capnp | 1.17.0 | 具有此标签的源文件被视为 capnpc 编译器的输入。 |
依赖关系
此模块依赖 capnp 模块,如果 useRpc 属性为 true,则还依赖 capnp-rpc 模块。这些模块通过 模块提供者 通过 pkg-config 工具创建。
属性文档
编译器名称 : 字符串 |
capnp 二进制文件名称。
默认值: "capnpc"
编译器路径 : 字符串 |
Protocol binary 的路径。
使用此属性以覆盖自动检测的位置。
默认值: auto-detected
导入路径 : 路径列表 |
传递给 capnpc 工具的 --import-path 选项的导入路径列表。
默认值: []
输出目录 : 字符串 |
capnpc 编译器生成的文件放置的目录。
默认值: product.buildDirectory + "/capnp"
使用 RPC : 布尔值 |
使用此属性以启用对 RPC 框架的支持。
一个简单的 qbs 文件使用 rpc 可以写成如下:
import qbs.Host
Project {
CppApplication {
Depends { name: "capnproto.cpp"; required: false }
name: "server"
condition: capnproto.cpp.present && qbs.targetPlatform === Host.platform()
consoleApplication: true
capnproto.cpp.useRpc: true
files: [
"calculator.capnp",
"calculator-server.cpp"
]
}
CppApplication {
Depends { name: "capnproto.cpp"; required: false }
name: "client"
condition: capnproto.cpp.present && qbs.targetPlatform === Host.platform()
consoleApplication: true
capnproto.cpp.useRpc: true
files: [
"calculator.capnp",
"calculator-client.cpp"
]
}
}默认值: false
©2023 Qt 公司有限公司。包括在此中的文档贡献均为各自所有者的版权。本提供的文档根据 Free Software Foundation 发布的 GNU 自由文档许可协议版本 1.3 的条款许可。Qt 以及相应的徽标是芬兰和/或全世界 Qt 公司的商标。所有其他商标均为其各自所有者的财产。