shirobert 发表于 2015-4-26 05:38:08

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)将生成的.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
页: [1]
查看完整版本: boost.python的安装配置和初次使用