从 python 访问 C++ 对象
Accessing c++ objects from python
我用 C++ 写了一个 flappy bird clone。现在我想尝试编写一个 AI 来玩那个游戏。我真的更喜欢使用 python 来编写神经网络,所以我需要想出一些方法来从 C++ 访问 Bird
对象。然后我(希望)能够从 python 调用鸟的绘制方法并访问它的所有数据——我想。在做了一些研究之后,我发现最好的解决方案可能是 pybind11。问题是我不知道如何将它添加到我的 VS c++ 项目中。教程说使用 cmake;但是,我的项目不使用 cmake。我认为 "header only" 库意味着只有 .h
个文件包含在源文件中,而无需构建。我错了吗?如果是这样,我该如何将 pybind11(或另一个更好的库 [我不想使用 boost::python 因为我不想处理整个 boost 依赖项])添加到我的项目中。对于这个问题的冗长性质,我们深表歉意,在此先感谢您。
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
我用 C++ 写了一个 flappy bird clone。现在我想尝试编写一个 AI 来玩那个游戏。我真的更喜欢使用 python 来编写神经网络,所以我需要想出一些方法来从 C++ 访问 Bird
对象。然后我(希望)能够从 python 调用鸟的绘制方法并访问它的所有数据——我想。在做了一些研究之后,我发现最好的解决方案可能是 pybind11。问题是我不知道如何将它添加到我的 VS c++ 项目中。教程说使用 cmake;但是,我的项目不使用 cmake。我认为 "header only" 库意味着只有 .h
个文件包含在源文件中,而无需构建。我错了吗?如果是这样,我该如何将 pybind11(或另一个更好的库 [我不想使用 boost::python 因为我不想处理整个 boost 依赖项])添加到我的项目中。对于这个问题的冗长性质,我们深表歉意,在此先感谢您。
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