博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
windows(msvc)下编译boost库
阅读量:4611 次
发布时间:2019-06-09

本文共 931 字,大约阅读时间需要 3 分钟。

下载&解压

从 上下载源码并解压

打开 vs 的本机工具命令提示符

  • cd boost_sourcecode_dir
  • bootstrap
  • 如果需要编译 boost.python 需要在 boost_sourcecode_dir\tools\build\example\user-config.jam 中添加如下内容:
using msvc : 14.0 ;using python : 2.7 : F:\\ProgramData\\Anaconda2 : F:\\ProgramData\\Anaconda2\\include : F:\\ProgramData\\Anaconda2\\libs
  • 使用 b2 命令进行编译,具体的命令行参数可以在 boost_sourcecode_dir\Jamroot 文件中查看,如果要编译 x64 ,记得 加上 address-model=64, 否则默认同时编译32位和64位

在vs工程中引入动态库/静态库

  • 如果要使用 Boost.Python ,记得引入 python 的 include 和 libs
  • 使用动态链接库,需要 #define BOOST_ALL_DYN_LINK

Boost.Python 版 helloworld

#define BOOST_ALL_DYN_LINK#include 
#include
void hello(){ std::cout << "hello, world" << std::endl;}BOOST_PYTHON_MODULE(helloworld){ using namespace boost::python; def("hello", &hello);}
  • 需要注意的是,BOOST_PYTHON_MODULE(helloworld)必须与输出的pyd文件名一致,在工程属性中把目标文件扩展名改为.pyd,配置类型选择dll
  • 生成的 .pyd 文件可以直接在python中import

转载于:https://www.cnblogs.com/starlitnext/p/8186298.html

你可能感兴趣的文章
libevent的问题
查看>>
(转载)日语语法Tips
查看>>
English Learning Daily Note of Fourth
查看>>
怎用不用工具创建一个javaWeb项目
查看>>
搬家啦
查看>>
Java创建对象的方式
查看>>
用js在两个页面之间传值
查看>>
Python3数据科学入门与实战
查看>>
手机屏幕的分辨率和图像尺寸关系
查看>>
补上一周的进度条
查看>>
20170519
查看>>
python logging详解及自动添加上下文信息
查看>>
Ubuntu 安装 Docker
查看>>
低耦合度高效3d游戏渲染系统构建方案乱弹
查看>>
Python线性优化基础讲解~
查看>>
echarts多个折线图
查看>>
Codeforces Gym 100637G G. #TheDress 暴力
查看>>
Codeforces Round #369 (Div. 2) E. ZS and The Birthday Paradox 数学
查看>>
Xtreme9.0 - Communities 强连通
查看>>
Day14 HTML补充
查看>>