小编Záv*_*oix的帖子

Boost.Python - 将boost :: python :: object作为参数传递给python函数?

所以我正在开发一个小项目,我在其中使用Python作为嵌入式脚本引擎.到目前为止,我使用boost.python并没有遇到太多麻烦,但是如果可能的话,我还有一些事情要做.

基本上,Python可以通过向类添加函数甚至数据值来扩展我的C++类.我希望能够在C++方面保持这些,所以一个python函数可以将数据成员添加到类中,然后传递给另一个函数的同一个实例仍将拥有它们.这里的目标是用C++编写通用核心引擎,让用户以他们需要的任何方式在Python中扩展它,而不必触及C++.

所以我认为可行的是我将一个boost::python::objectC++类存储为一个值self,当从C++调用python时,我会发送该python对象boost::python::ptr(),以便python端的修改将持续回到C++类.不幸的是,当我尝试这个时,我收到以下错误:

TypeError: No to_python (by-value) converter found for C++ type: boost::python::api::object

有没有办法将一个对象直接传递给这样的python函数,或者我可以通过任何其他方式来实现我想要的结果?

在此先感谢您的帮助.:)

c++ python boost boost-python

5
推荐指数
1
解决办法
2869
查看次数

标签 统计

boost ×1

boost-python ×1

c++ ×1

python ×1