使用VS2015 编译 64位的boost库
别人写的编译参考:
目标:使用VS2015 编译 64位的boost库。
一直以来都是在Win32环境下Build和使用boost,但现在基本上每天都在64位Win7下工作,所以很有必要把这几天的经验总结下来。
1. 下载并解压boost 1.61.0 压缩包
2. 解压并运行批处理文件bootstrap.bat,目录下会生成两个可执行文件
3. 和32位环境不同,x64环境下编译得先从开始菜单启动Visual Studio的VS2015 x64 Native Tools Command Prompt 进入命令提示符,而不是随便打开任意一个命令行窗口就行。
4. 然后cd到boost根文件夹,运行bootstrap.bat生成x64版的b2.exe 和 bjam.exe (他们只是版本不同的产物,但是用法一致,bjam是之前版本的,b2 是最新的)
5. 然后运行命令:
b2 --build-type=complete toolset=msvc-14.0 threading=multi link=shared address-model=64
即可生成DLL版平台库,如果要编译静态库版就把shared改为static。
- 只生成一个库的话加上例如--with-python得编译选项,避免生成东西太多、时间太长。
- 要有address-model=64属性,如果没有这个属性的话,会默认生成32位的平台库,加入这个选项才能生成64位的DLL。
- 如果要生成Boost.Python库,需要先下载安装x64版的Python安装包,我用的版本是3.2.3。在使用这个库编写Python扩展DLL时,默认是使用动态库版的Boost.Python,要使用静态版的必须在C++项目中定义BOOST_PYTHON_STATIC_LIB宏,这样就不用在使用或发布扩展时带着boost_python-vc90-mt-1_50.dll一起了,当然扩展DLL的尺寸会大些,如果做实验没必要这样,编译又慢生成的文件也大。
我的过程如下:
1.下载1.63.0版本的boost库,放置D:\boost_1_63_0
2.编译64位的boost需要在VC 提供的命令提示符进行操作。
3.开始转到boost根目录,运行bootstrap.Bat生成X64版本的bjam.exe和b2。
4.
B2是新版,然后运行命令:64位静态库
b2 stage --toolset=msvc-14.0 --without-graph --without-graph_parallel --stagedir="d:\boost_1_63_0\lib64-msvc-14" address-model=64 link=static runtime-link=static threading=multi debug release
64位的动态库
b2 stage --toolset=msvc-14.0 --without-graph --without-graph_parallel --stagedir="d:\boost_1_63_0\lib64-msvc-14" address-model=64 link=static runtime-link=shared threading=multi debug release
我是用的是:
b2 stage --toolset=msvc-14.0 --without-graph --without-graph_parallel --stagedir="d:\boost_1_63_0\lib64-msvc-14" address-model=64 link=shared threading=multi
b2 stage --toolset=msvc-14.0 --without-graph --without-graph_parallel --stagedir="d:\boost_1_63_0\lib64-msvc-14" address-model=64 link=static threading=multi
5.需要注意的是address-model=64属性,如果没有这个属性的话,会默认生成32位的平台库,加入这个选项才能生成64位的DLL。
要编译很久
然后可以使用了。
6.使用方法:
设置下环境变量,头文件路径BOOST64_BASE_DIR , BOOST64_LIB_DIR.
2017/8/28
再次编译系统,在visual studio 2010下编译boost库:
使用VS2010 64位工具,切换到boost目录,键入命令:
b2 stage --toolset=msvc-10.0 --stagedir="d:\boost_1_63_0\lib64-msvc-10" address-model=64
选择全编译,知名库的编译路径,编译器工具,虽然时间长,不会有缺库的提示。
使用VS2015 编译 64位的boost库的更多相关文章
- Vs2012(Vs2013) 编译 64位 Qt (动态库), 并使用自编译Qt建立工程(悲催经历)。(含遗留问题)
仅供参考. 体会:我个人此次编译不该使用Vs2013编译Qt. 使用以下程序: Qt : qt-opensource-windows-x86-msvc2012_64_opengl-5.2.1.exe ...
- VS2015下编译64位GDAL总结
使用VS2015编译最新的64位GDAL(最新gdal2.11),确实有一些问题,看来双方还是太新了,有点不兼容,特总结如下. 以前经常用的通过VisualStudio IDE进行编译的方式现在似乎不 ...
- VS 2013编译64位版本QT 4.8.6及使用cmake为依赖QT生成VS项目时Could NOT find Qt4
对于一些已经解决的问题,本博客不再讨论.只将本人遇到的问题做简单的说明. 一.VS 2013编译64位版本QT 4.8.6 QT项目官网中,对于QT4,其只提供了windows X86的版本,并且支持 ...
- ubuntu16 64位 编译64位程序和32位程序
安装了ubuntu16 64位的系统,想在该环境下用gcc编译64位和32位的程序 默认已经安装了64位环境的gcc 1. 首先确认安装的环境是不是64位的 cocoa@cocoaUKlyn:~/De ...
- windows 下编译64位ffmpeg
window下如何编译ffmpeg 前文已有介绍,前面介绍的都是如何编译32位的库,本文主要介绍window 下如何编译64位ffmpeg库. 一.搭建编译环境 1.下载 windows下编译64位F ...
- Windows下编译64位GSL
GSL (GNU Scientific Library, http://www.gnu.org/software/gsl/)官方并没有提供编译好的Windows版本.首先要保证Windows是64位的 ...
- 使用MSYS2编译64位gvim
1. 下载安装MSYS2 在https://msys2.github.io/下载MSYS2,推荐下载x86-64版,此版本内置了MinGW32与MinGW64 安装后首先更新MSYS2系统,顺序执行下 ...
- 使用visual c++ 2005编译64位可执行文件
最近需要将一个32位的程序移植到64位上,由于原来是使用vs2003写的,vs2003本身并不支持编译64位系统上,只能升级到vs2005以上版本.个人还是比较喜欢vs2005,对c++来说,vs20 ...
- Visual Studio 2013 编译 64 位 Python 的 C 扩展 (使用 PyObject 包装)
对于 32 位 Python 的 C 扩展,以前用过 mingW32 编译, 但是 mingW32 不支持 64 位 Python 的 C 扩展编译,详情可见 stackoverflow,这位前辈的大 ...
随机推荐
- vs安装部署“必备”组件里面正常情况没有出现office2010 PIA组件
vs安装部署“必备”组件里面正常情况没有出现office2010 pia组件时,将 Office2010PIARedist 文件夹放在C:\Program Files\Microsoft SDKs\W ...
- 深入浅出SharePoint——获取Choice Field的Mapping value
list field对应的caml定义如下 <Field Type="Choice" DisplayName="Inspection Result" Re ...
- July 31st 2017 Week 31st Monday
Elegance is the only beauty that never fades. 优雅是唯一不会褪色的美. Even the most beautiful apperace would be ...
- 验证 Xcode是否有效方法
苹果给出了验证 Xcode 的方法,需要用户在终端中执行下面的命令: spctl --assess --verbose /Applications/Xcode.app 如果 Xcode 从 Mac A ...
- [T-ARA][거짓말(Part.1)][谎言(Part.1)]
歌词来源:http://music.163.com/#/song?id=5403062 作曲 : 赵英秀 [作曲 : 赵英秀] 作词 : 安英民 [作词 : 安英民] 사랑한단 거짓말 보고싶을거란 ...
- Chapter 4 Left Outer Join in MapReduce
4.1 Introdution Consider a company such as Amazon, which has over 200 millions of users and possibly ...
- 使用Visual Studio Code编写和激活ABAP代码 (上)
猪年春节后的第一篇,Jerry祝各位猪年大吉! 2019年的六分之一马上就快过完了,不知道大家在新的一年是否给自己定了新的小目标呢?这里Jerry先预祝大家到2019年年底的时候,在年初制定的小目标都 ...
- 对一串用":"和";"拼接的汉字字符串排序
近日在项目中遇到一个需求,要求显示的下拉菜单select选项的汉字字符进行排序,项目是前后端分离Ajax交互的,前端页面初始化时请求后端拿到菜单数据.项目中的所有菜单数据均是后端提供的. 场景是后端请 ...
- jq判断鼠标滚轴向上滚动还是向下滚动
$(document).on("mousewheel DOMMouseScroll", function (e) { var delta = (e.originalEvent.wh ...
- PhoneGap检测设备网络连接情况
一.网络连接状态列表 Phonegap 网络连接通过 navigator.network.connection.type 来获取,一般有一下几种状态 1. Connection.UNKNOWN ...