【问题标题】:How to integrate Boost.uuid into my cross-platform code?如何将 Boost.uuid 集成到我的跨平台代码中?
【发布时间】:2014-07-03 03:42:27
【问题描述】:

我正在用 cocos2d-x 编写一个应用程序,它是一个 C++ cross-platform 游戏引擎。在游戏中我需要在没有任何输入的情况下生成 UUID。只是我想调用一个函数generateUuid 并将该函数返回的值分配给std::string。我知道 Boost.uuid 可以完成这项工作。老实说,我不确定我需要什么功能,但最大的问题是我不知道如何将 Boost.uuid 集成到我的代码中。我试过build and use Boost once,但当时我已经安装了整个库。集成最小代码以满足我的需求的步骤是什么。另外我希望它只是包含一些头文件,否则我不确定它是否适用于所有平台 cocos2d-x 支持。

请告诉我该做什么或阅读什么来学习如何使用 Boost.uuid。

【问题讨论】:

    标签: c++ boost uuid boost-uuid


    【解决方案1】:

    与 Boost 的大部分内容一样,Boost.Uuid 是header-only library,这意味着只有您#include 和使用的功能才会成为您项目的一部分。因此,将整个 Boost 发行版放在包含路径中的某个位置并包含 Boost.Uuid 标头没有问题。

    (Boost.Uuid 本身可能依赖于其他 Boost 头文件,因此这些也可能成为您项目的一部分。)

    话虽如此,没有真正的理由不进行标准安装 Boost,就像您所链接的问题一样;这是一个很好的库,只有那些你实际使用的部分才会成为你最终项目的一部分或依赖项。

    编辑:如果您真的想要 Boost 的子集,BCP 实用程序旨在帮助您做到这一点。我没有这方面的经验。为了回答您的问题,Boost 被设计为跨平台的,我发现安装整个东西并让它处理自己的依赖项是最简单的。

    【讨论】:

    • 所以建议大家下载安装整个Boost。有没有办法只下载 Boost.UUID 部分?我的意思是确定它有依赖关系,但是是否存在自我满足的 Boost 子包(包括所有依赖关系)?
    • 这么多平台的跨平台性呢?行得通吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多