所以我正在开发一个小项目,我在其中使用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函数,或者我可以通过任何其他方式来实现我想要的结果?
在此先感谢您的帮助.:)