【问题标题】:Accessing c++ objects from python从 python 访问 c++ 对象
【发布时间】:2020-08-12 08:49:29
【问题描述】:

我用 C++ 编写了一个飞扬的鸟克隆。现在我想尝试编写一个 AI 来玩那个游戏。我真的更喜欢用 python 来编写神经网络,所以我需要想办法从 c++ 中访问 Bird 对象。然后我(希望)能够从 python 调用鸟的 draw 方法并访问它的所有数据——我想。经过一番研究,我发现最好的解决方案可能是 pybind11。问题是我无法弄清楚如何将它添加到我的 VS c++ 项目中。教程说使用cmake;但是,我的项目不使用 cmake。我认为“仅标头”库意味着您在源文件中只包含 .h 文件,而无需构建。我错了吗?如果是这样,我该如何将 pybind11 (或另一个更好的库 [我不想使用 boost::python 因为我不想处理整个 boost 依赖项])添加到我的项目中。对于这个问题的冗长性质,我们深表歉意,并提前感谢您。

【问题讨论】:

  • Visual Studio 可以使用cmake。但是AFAICT,CMake的东西只是为了方便找到标题。 “整个 Boost 依赖项”也没有那么糟糕,因为 Visual Studio 可以使用 nuget 来获得预构建的 Boost 包。
  • 那么我如何在不使用 cmake 的情况下将其包含在 VS 中?

标签: python c++ visual-studio cmake pybind11


【解决方案1】:

Microsoft 提供了如何使用 boost 或 pybind11 将 C++ 代码包装到 python dll 中: 在这里查看:https://docs.microsoft.com/en-us/visualstudio/python/working-with-c-cpp-python-in-visual-studio?view=vs-2019#pybind11

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-14
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多