VS2013编译64位BoostPython说明

环境说明

  • 操作系统: Win10 64位;
  • 编译器: vs2013 32位 , C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe;
  • Python版本: python-3.4.0.amd64.msi;
  • Boost版本: boost_1_66_0-msvc-12.0-64.exe

在这里插入图片描述

安装boost和python

双击安装 python-3.4.0.amd64.msiboost_1_66_0-msvc-12.0-64.exe 两个安装包。

Python
在这里插入图片描述
在这里插入图片描述
Boost
在这里插入图片描述

编译boost_python库

1. bootstrap生成方案

MD 进入到 boost_1_66_0 目录,然后直行 bootstrap.bat 脚本。
在这里插入图片描述

2. bjam编译boost_python

编译指令

  • 编译静态库直行如下命令:
C:\boost_1_66_0>bjam.exe --with-python  --prefix=c:/boost stage toolset=msvc
12.0 variant=debug link=static address-model=64 threading=multi runtime-
link=shared
  • 编译动态库直行如下命令:
C:\boost_1_66_0>bjam.exe --with-python  --prefix=c:/boost stage toolset=msvc
12.0 variant=debug link=shared address-model=64 threading=multi runtime-
link=shared

开始编译

编译静态库,所以执行如下命令:

C:\boost_1_66_0>bjam.exe --with-python  --prefix=c:/boost stage toolset=msvc
12.0 variant=debug link=static address-model=64 threading=multi runtime-
link=shared install

编译过程中,会出现如下错误:
在这里插入图片描述

vs2013编译boost 时的fatel error C1001 编译器内部错误

用 《VS2013编译boost 1.66:.\boost/type_traits/common_types.h(43) : fatal error C1001: 编译发生内部错误》。

VS2013C++11 SFINAE 特性支持不够有关。(boost 1.60以上的版本用问题)。
解决办法是更新到vs2013 update5即可(如果你的vs2013 编译都可能有这个VS2013 已经是update5 是不会遇到这个问题的)。
如果不想更新到 vs2013 update5 怎么办解决呢?
可以利用 bjamcxxflags property ,增加 BOOST_NO_CXX11_VARIADIC_TEMPLATES 宏定义告诉
boost 编译器不支持c++11 的可变参数模板特性。

.\bjam toolset=msvc-12.0 cxxflags=-DBOOST_NO_CXX11_VARIADIC_TEMPLATES

同样的道理在VS2013 update5以下版本中使用boost 库,也会存在同样的问题,编译时也一样要加上 BOOST_NO_CXX11_VARIADIC_TEMPLATES 宏定义。

正确编译指令

C:\boost_1_66_0>bjam.exe --with-python  --prefix=c:/boost stage toolset=msvc 12.0 variant=debug link=static address-model=64 threading=multi runtime-link=shared cxxflags=-DBOOST_NO_CXX11_VARIADIC_TEMPLATES install

编译通过

在这里插入图片描述

使用boost_python静态库

boost_python 默认情况下链接的动态库(库名称为 boost_python-vc120-mt-gd-x64-1_66.lib),程序如果要链接静态库版本的 boost_python ,则程序需要添加 BOOST_PYTHON_STATIC_LIB 预处理宏。这样的话,程序会搜索名称为 libboost_python-vc120-mt-gd-x64-1_66.lib 库了。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值