我正在遵循https://github.com/Microsoft/bond/上的 C++ on Windows 说明,但不清楚如何在 Visual Studio 中包含和使用本机 C++ 项目中的 Bond。我已经读过 Bond 需要作为我项目的一部分进行编译,并且我应该使用 Bond 的 .lib 文件来加快构建速度。在我下载所有依赖项并让 CMake 构建 Bond 以便我可以从我的项目中工作的文档中获取示例代码之后,正确的步骤是什么?我想在 Visual Studio 中运行和调试使用 Bond 的代码。谢谢
1 回答
此答案现已纳入 Bond C++ 文档:Integrating Bond into your build。相关摘录:
要使用 Bond,您需要以某种方式将其集成到您的构建中。如果您使用这些 C++ 包管理器之一,Bond 可以作为一个包提供,您可以使用:
- Vcpkg的
bond
包以下是使用 C++ Bond 的构建系统不可知的指令。
这些说明假设您已经使用 Bond 的基于 CMake 的构建来编译和安装(
make install
/cmake --build . --target INSTALL
) Bond 到您的开发环境中的某个地方。CMake 变量CMAKE_INSTALL_PREFIX
可用于控制安装目标放置输出文件的位置。(Bond CMake 文件目前不能被另一个 CMake 项目通过 使用
add_directory
。 鼓励贡献 以帮助改善这种情况。)构建并安装 Bond 后,您可以使用所需的任何构建系统
- 教它如何在 .bond 文件上自动运行代码生成;
- 将 C++ 编译器的
#include
搜索路径配置为指向 Boost 和 Bond;和- 配置链接器的库路径以在其搜索路径中包含 Boost 和 Bond 库。
步骤#1 非常依赖于构建系统。这些构建系统规则对 Bond 存储库的贡献将被愉快地接受。
在构建将使用 Bond 的库/可执行文件时,您需要将编译器的
#include
搜索路径设置为指向:
- 您的 Boost 版本的安装位置
- 您的 Bond 版本的安装位置
如果您使用 bond.bond 中的任何类型(例如,通过使用
import
.bond 文件中的语句或使用 C++RuntimeSchema
API),您还需要将库/可执行文件与 Bond 链接(名称可能因平台/工具集。):
libbond.a
/bond.lib
和- 可选,
libbond_apply.a
/bond_apply.lib
,如果你打算#include <bond/core/bond_apply.h>
。
您将需要针对您选择的构建系统调整这些。