现在的位置: 首页 > 综合 > 正文

boost.python,在python中调用c++接口注意的问题(python2.5.4)

2012年12月26日 ⁄ 综合 ⁄ 共 696字 ⁄ 字号 评论关闭

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名字

抱歉!评论已关闭.