boost.python的安装配置和初次使用

综合网上的教程和自己的测试,将boost.python的example示例成功编译成python模块,具体过程如下:

我的环境:VS2008,python26,boost1_40

一、安装boost

使用boostpro可配置已编译包安装,这种方式比较简单,源码编译安装方式我没有尝试,这里选择的是1_40版本,包选择的时候选择勾选python,子选项可选择

vs的版本。

二、配置include和library path

在vs2008里面将boost和python的include和library路径分别加入到 "包含文件"和"库文件"两栏中

我配置的是:

包含文件(include):

E:\devtool\boost\boost_1_40

E:\devtool\EPDPython26\include

库文件(library):

E:\devtool\EPDPython26\libs

E:\devtool\boost\boost_1_40\libs

三、编译example中的getting_started1.cpp为python模块

(1)vs2008中创建一个win32 Dll项目;
(2)清除所有默认创建的源文件和资源文件;(不是必要的)
(3)修改工程属性:
       C/C++中【不使用预编译头】【不启用最小重新生成】
       Link 中清除 模块定义文件
(4)源代码夹中添加现有项,增加源码文件,这里用Boost Python自带的example文件getting_started1.cpp
(5)生成
(6)将生成的<your project>.dll按模块名称更改为getting_started1.pyd,必须对应getting_started1.cpp代码中的module name:

BOOST_PYTHON_MODULE(getting_started1)
{
    // Add regular functions to the module.
    python::def("greet", greet);
    python::def("square", square);
}

四、测试

boost python动态库文件  boost_python-vc90-mt-gd-1_40.dll 要放在python当前工作或搜索路径中

然后在python interpreter中执行: 
>>> import getting_started1
>>> print getting_started1.greet()
hello, world

posted @ 2011-05-01 14:20  babykick  阅读(4638)  评论(3编辑  收藏  举报