0

我正在遵循https://github.com/Microsoft/bond/上的 C++ on Windows 说明,但不清楚如何在 Visual Studio 中包含和使用本机 C++ 项目中的 Bond。我已经读过 Bond 需要作为我项目的一部分进行编译,并且我应该使用 Bond 的 .lib 文件来加快构建速度。在我下载所有依赖项并让 CMake 构建 Bond 以便我可以从我的项目中工作的文档中获取示例代码之后,正确的步骤是什么?我想在 Visual Studio 中运行和调试使用 Bond 的代码。谢谢

4

1 回答 1

1

此答案现已纳入 Bond C++ 文档:Integrating Bond into your build。相关摘录:

要使用 Bond,您需要以某种方式将其集成到您的构建中。如果您使用这些 C++ 包管理器之一,Bond 可以作为一个包提供,您可以使用:

以下是使用 C++ Bond 的构建系统不可知的指令。

这些说明假设您已经使用 Bond 的基于 CMake 的构建来编译和安装( make install/ cmake --build . --target INSTALL) Bond 到您的开发环境中的某个地方。CMake 变量 CMAKE_INSTALL_PREFIX可用于控制安装目标放置输出文件的位置。

(Bond CMake 文件目前不能被另一个 CMake 项目通过 使用add_directory鼓励贡献 以帮助改善这种情况。)

构建并安装 Bond 后,您可以使用所需的任何构建系统

  1. 教它如何在 .bond 文件上自动运行代码生成;
  2. 将 C++ 编译器的#include搜索路径配置为指向 Boost 和 Bond;和
  3. 配置链接器的库路径以在其搜索路径中包含 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>

您将需要针对您选择的构建系统调整这些。

于 2017-12-14T00:40:43.333 回答