boost python 使用
来源:互联网 发布:软件招标书范本 编辑:程序博客网 时间:2024/06/06 20:44
这两天在用boost python 给服务器搭建一个脚本层,在搭建的过程的过程中,遇到了几个问题。在此记录下,以免以后忘记。
使用:boost_1_51_0 python-2.7.3.msi
1.版本问题。刚开始下载的python 3.2,后来发现程序始终在exec_file出错。折腾了好久,网上查了不少资料,还是没解决,于是换成python-2.7.3后,顺利通过。
不明白为什么。。。
2.编译boost_python-vc90-mt-gd-1_51.dll文件。首先要把project-config.jam里的配置更改下,添加以下几句话,using python
: 2.7
: c:\\Python27
: c:\\Python27\\include
: c:\\Python27\\libs
;
然后在CMD下用以下命令 bjam --with-python --prefix=d:\boost stage toolset=msvc-10.0 variant=debug link=shared address-model=64 threading=multi runtime-link=shared install
查考:http://www.linuxidc.com/Linux/2011-09/43698.htm
3.C++调用python。
先初始化
Py_Initialize();
char buff[256];
memset(buff,0,256);
::GetCurrentDirectory(256,buff);
char path[256];
memset(path,0,256);
sprintf(path,"%s%s",buff,"\\script\\main.py");
m_Main_module = import("__main__");
m_Main_namespace = (m_Main_module).attr("__dict__");
m_Module = exec_file(path,m_Main_namespace, m_Main_namespace);
object func=(m_Main_namespace)["LoadScriptInfo"];
func();
调用:
object func=(m_Main_namespace)["LoadScriptInfo"];
return extract<int>(func());
删掉:
Py_Finalize();
4.python 调用C++ 。需单独新建一个.dll工程,把编译后的文件后缀改为.pyd,把生成的.pyd文件和前面生成的boost_python-vc90-mt-gd-1_51.dll拷贝到python目录下的DLLs里。 注意:用 BOOST_PYTHON_MODULE(模块名)初始化模块时,模块名必须等于工程名,否则无法生成正确的.dll初始化函数。
- Boost.Python使用小结
- 使用Boost.Python
- boost python的使用
- boost python 使用
- boost.python 使用
- 使用Boost.Python开发
- boost.python vector_indexing_suite 使用注意事项
- Boost.python 编译和使用
- python 使用Boost.python 调用c++
- 使用Boost.Python构建混合系统
- 使用Boost.Python构建混合系统
- boost.python 使用时注意小事项
- 使用boost::python的链接出错
- 使用boost.python进行混合开发
- 使用boost实现python调用c++
- Boost.Python:安装使用(兼具Boost.Python库中Python编译版本的修改)
- Boost.Python
- 使用 Boost.Python 嵌入 Python 模块到 C++
- 信息经济时代过去,反馈经济时代已到来
- 类内实现MFC/VC shdocvw IWebbrowser2的OnDocumentComplete等事件响应
- XTU2012 湘潭邀请赛 Interview Arrangement ~ 离散化+01背包
- 桥接模式
- android 下用ant编译脚本执行批量渠道打包
- boost python 使用
- nginx upstream的几种配置方式
- 关于C++的好帖
- 关于爱情
- poj 2524 Ubiquitous Religions
- 编译原理初体验(求大牛来拍砖)
- css3 background-size
- 七夕情书之恋恋红尘
- 解决API property-resolver/variable-resolver is deprecated after JSF 1.1. Use el-resolver instead.