2007年01月17日 星期三 09:06
我把VC编译好的LIB库转换成了BCB能用的格式 可是同样的代码到BCB中 编译就出错 说是object_manager.hpp 文件中 templatestruct object_manager_traits : mpl::if_c< is_handle ::value , handle_object_manager_traits , default_object_manager_traits >::type { }; 上面代码 Invalid template argument list Type name expected { expected 等等 好多错误 >Message: 3 >Date: Tue, 16 Jan 2007 21:35:44 +0800 >From: " 刘鑫 " <march.liu在gmail.com> >Subject: Re: [python-chinese] > 把Python嵌入到C++应用程序中__参数传递问题(已解决) >To: python-chinese在lists.python.cn >Message-ID: > <d7bd4e1e0701160535w3e1bd0blc304f8c2e223ec17在mail.gmail.com> >Content-Type: text/plain; charset="gb2312" > >这是一个老问题了,Boost::Python On Windows支持VC之外的编译器吗?当然支持, >前提是你要在编译Boost时提供对应编译器编译的PythonXX.lib静态链接库,新版本的Python提供了Mingw/Cygnu所 >需的PythonXX.a。但是BCB的恐怕你要自己编译。 > >2007/1/16, 玄利磊 <kency在zctt.com.cn>: >> >> 用boost.python库能解决了 >> 可惜我的程序都是用C++ Builder 写的 >> boost.python 不支持 C++ Builder >> >> 分享下解决的方法: >> >> #include python.hpp> < i>>> #pragma comment(lib, "boost_python.lib") >> >> using namespace boost::python; >> >> class CppClass { >> public: >> int a; >> CppClass():a(0){} >> int getNum() >> { >> return a; >> } >> void setNum(int num) >> { >> a = num; >> } >> >> }; >> >> >> >> 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") >> .def("getNum",&CppClass;::getNum) >> >> .def("setNum",&CppClass;::setNum); >> >> CppClass cpp; >> cpp.setNum(1); >> >> main_namespace["pycpp"] = ptr(&cpp;); >> >> >> >> handle ignored(( PyRun_String( "print pycpp.getNum() \n", >> Py_file_input, >> main_namespace.ptr(), >> main_namespace.ptr() ) )); >> >> } >> catch( error_already_set ) >> { >> PyErr_Print(); >> } >> return 0; >> } >> >> >> >> >Message: 7 >> >Date: Mon, 15 Jan 2007 19:07:17 +0800 >> >From: " 玄利磊 " <kency在zctt.com.cn> >> >Subject: [python-chinese] >> > 把Python嵌入到C++应用程序中__参数传递问题 >> >To: "python-chinese" <python-chinese在lists.python.cn> >> >Cc: xuanll <xuanll在zctt.com.cn> >> >Message-ID: <200701151906513433193在zctt.com.cn> >> >Content-Type: text/plain; charset="gb2312" >> > >> >用C++ 写的程序 现需要调用 python脚本进行数据处理 >> >使用下面函数: >> >pargs = Py_BuildValue("(s)", cstr); >> >PyEval_CallObject(pfunc, pargs); >> > >> >作为参数传递给 python 的只是些 string integer 等等 >> > >> >现在需要 把一个 类 或 指针 传递给 python 该如何做啊? >> > >> >谢谢!!! >> > >> >> _______________________________________________ >> python-chinese >> Post: send python-chinese在lists.python.cn >> Subscribe: send subscribe to python-chinese-request在lists.python.cn >> Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn >> Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > > >-- >Blog搬家了 > >刘鑫 >March.Liu >-------------- 涓���ㄥ� -------------- >一个HTML附件被移除... >URL: http://python.cn/pipermail/python-chinese/attachments/20070116/7b6b6f0c/attachment.html >
Zeuux © 2025
京ICP备05028076号