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 公司的商标。所有其他商标均为其各自所有者的财产。