Hello, I am new in this list. I would like to ask a quesiton about the linkage between BOOST and Python. I want to use C++ to trigger a Python code so that when I change anything inside Python, my C++ can know the changes and get the result back. So how can I pass an object from C++ to Python? and return the result? Here is the code that embedded the Class. class CppClass { public: int getNum() { return 7; } }; #include <boost/python.hpp> using namespace boost::python; int main( int argc, char ** argv ) { try { Py_Initialize(); object main_module(( handle<>(borrowed(PyImport_AddModule("__main__"))))); object main_namespace = main_module.attr("__dict__"); main_namespace["CppClass"] = class_<CppClass>("CppClass") .def("getNum",&CppClass::getNum); handle<> ignored(( PyRun_String( ""cpp = CppClass()\n" "print cpp.getNum()\n"", Py_file_input, main_namespace.ptr(), main_namespace.ptr() ) )); } catch( error_already_set ) { PyErr_Print(); } } Thanks
participants (1)
-
alex@gorex.com.hk