Hi, I am trying to use boost.python to wrap some classes in an application, and have python embedded in my app and make some instances from the application accessible thru simple script. I got the impression that with boost python it should be quite simple for basics, but I cannot have a simple code as bellow run:
1. If I uncomment the //import("MyModule"); I get a runtime error - and an application crash. And without it- I get an exception that the C++ class CMyWrap is not associated with a python class. 2. If I just try to do a simpler thing like //exec("dir(__main__)", main_namespace); I get "bad argument to an internal function" as an exception. I use python26_d.dll/ python26_d.lib and libboost_python-vc90-mt-1_39.lib (boost 1.39 compiled as static lib). Can you please help? Can you refer me to any documentation that may help? TIA, Yuv. class CMyWrap { public: string Greet() { return "I'm the dude!?"; } }; class CppClass { public: int getNum() { return 7; } }; BOOST_PYTHON_MODULE(MyModule) { class_<CMyWrap>("CMyWrap") .def("greet", &CMyWrap::Greet); } int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) { int nRetCode = 0; CMyWrap myObj; try { PyImport_AppendInittab( "MyModule", &initMyModule); Py_Initialize(); object main_module = import("__main__"); object main_namespace = main_module.attr("__dict__"); //import("MyModule"); //exec("dir(__main__)", main_namespace); main_namespace["myObj"] = ptr(&myObj); } catch( error_already_set ) { PyErr_Print(); } Py_Finalize(); return nRetCode; } -- Yuval Nahmany cell. 054-2020665 _______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org http://mail.python.org/mailman/listinfo/cplusplus-sig