1.
BOOST_PYTHON_MODULE(myClassModule)
{
class_<myClass>("myClass")
.def("setID", &myClass::setID)
.def("getID", &myClass::getID)
;
def("printTest", &printTest);
}
2.
Py_Initialize();
// PyRun_SimpleString("import sys");
// PyRun_SimpleString("sys.path.append('./')");
initmyClassModule(); //BOOST_PYTHON_MODULE这里面定义了
if (python::handle_exception(exec_mythma))
{
if (PyErr_Occurred())
{
BOOST_ERROR("Python Error detected");
PyErr_Print();
}
}
3.
python::object main = python::import("__main__");
python::object py_ = main.attr("__dict__");
python::object result = python::exec_file(
".\\myClassTest.py", py_, py_);
4.构造类时,带上module前缀
myObj = myClassModule.myClass()
5.boost.python编出来的dll改名字成pyd
python直接import dll名字