VS2017下Boost编译
来源:互联网 发布:iphone美图软件 编辑:程序博客网 时间:2024/05/02 00:17
第一步:准备工作
1、到官网http://www.boost.org/下载boost库,最好下载1.63最新版
2、安装VS2017 pro(关系目录问题)
3、因为是全编译,所以必须可少要安装Python。安装Python2.7及3.5.3
第二步:解压。
本文使用boost1.63,1.64Bate2版才出来,解压到C盘方便以后使用(其他盘也可)。
第三步:环境配置
VS2017更加注重跨平台性,安装文件较多,VC有三个版本,分别是arm、Hostx64、Hostx86,本文使用Hostx64。
Note:
默认安装时,编译器cl.exe并不在环境变量中,需要配置。
测试环境变量:
Ctrl+r输入cmd,输入cl,若显示:'cl'不是内部或外部命令,也不是可运行的程序或批处理文件。说明没有环境变量。
配置环境变量:
计算机右击-属性-高级系统设置-环境变量-选择Path编辑-添加cl的路径
C:\Program Files(x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.10.25017\bin\Hostx64\x64确定。
在cmd中使用
echo %path%更新环境变量。输入cl
环境变量已经设置好了。
第四步:开始编译
右击--更多—以管理员身份运行VS2017开发人员命令提示,英文名称x64 Native Tools Command Prompt for VS 2017
输入命令
cd C:\boost\boost_1_63_0
进入之后,输入命令b
bootstrap.bat
等待1分钟左右会在C:\boost\boost_1_63_0生成几个文件。
在目录C:\boost\boost_1_63_0下有一个项目配置文件project-config.jam,用记事本或其他文本编辑工具打开,做如下修改:
import option ;using msvc :14.1 : " C:\Program Files (x86)\Microsoft VisualStudio\2017\Professional\VC\Tools\MSVC\14.10.25017\bin\Hostx64\x64\cl.exe";option.set keep-going : false ;
其中第二行的目录是你VS2017的安装目录中cl.exe的位置。
第五步:安装
在boost_1_63_0目录下新建build,用来保存编译时产生的中间文件,编译完可以删除。
运行
b2.exe stage --toolset=msvc-14.1 address-model=64 --stagedir="C:\boost\bin1.63.0\VC14.0"threading=multi --build-type=complete –-build-dir="C:\boost\boost_1_63_0\build"
具体介绍:
--toolset:设置编译器,如果用VC,设msvc, 用MinGW就设gcc。
stage:可选install,选stage只生成库(静态库和动态库),install还包含include目录,其实,可以直接用我们下载下来的BOOST包里的boost目录,这个目录和install生成的include目录内容基本一样。所以也就不用了。
--build-dir=”[temporary folder name”:编译的临时文件存放位置。
--stagedir=” stage folder name]”:存放编译后库文件的路径,默认是stage。
--build-type=complete:编译所有版本
{
variant=debug|release 决定编译什么版本(Debug or Release?)
link=static|shared 决定使用静态库还是动态库。
threading=single|multi 决定使用单线程还是多线程库。
runtime-link=static|shared 决定是静态还是动态链接C/C++标准库。
}
link:是动态库还是静态库,static | shared,一般默认静态。
address-mode:address-model=64,如果没有这个属性的话,会默认生成32位的平台库,加入这个选项才能生成64位的DLL。如果运行在VS32位的命令行下需要添加” architecture=x86”,笔者使用x64 Native Tools Command Prompt for VS 2017没有x86与x64之间的矛盾,所以未设置。
已经安装好了。
编译中间产生的垃圾文件,可以直接删除。
这个文件夹就是需要的lib和动态链接。
配置在下一篇文章。
参考:
VS2017编译boost库:http://blog.csdn.net/xyq949587362xyq007/article/details/70183904;
BOOST库介绍,安装:http://blog.csdn.net/funkri/article/details/9048061;
Vs2017编译Boost问题How to compile thelastest Boost(Version 1.63.0)?:http://stackoverflow.com/questions/41464356/build-boost-with-msvc-14-1-vs2017-rc;
Build boost with msvc 14.1 ( VS2017 RC):http://stackoverflow.com/questions/41464356/build-boost-with-msvc-14-1-vs2017-rc;
boost全平台编译方法:http://blog.csdn.net/hursing/article/details/45439087;
boost编译库需要区别静态库和动态库:http://blog.csdn.net/seekerm/article/details/41924271;
Boost1.6x+win7+VC2015编译:http://www.cnblogs.com/yaoyu126/p/5547297.html;
- VS2017下Boost编译
- VS2017下编译和配置boost库
- VS2017下编译和配置boost库
- VS2017编译boost库
- 编译boost库 VS2017
- VS2017下boost配置
- boost于vs2017下编译(64/32bit)
- VS2017 boost编译和用法
- VS2017 编译64位boost静态库
- VS2017中对BOOST的编译,及demo测试
- Windows下使用Vs2017编译id3lib库
- VS2008下编译BOOST
- linux下编译boost
- linux下编译BOOST
- linux下编译boost
- linux 下boost编译
- VS2010下编译boost
- VS2008下编译boost
- Javaweb学习笔记——Server Tomcat v9.0 Server at localhost failed to start.
- 文章标题
- 【公网远程】网页控制nodemcu的LED
- 49.性能调优之调节并行度
- 计算几何摸黑(1)
- VS2017下Boost编译
- mysql 查询当日的
- [spring]sping的singleton类型bean与单例模式的区别
- C++中的线程函数如何访问类中的成员变量
- MySQL索引
- Spring Boot 学习6--DataSource-MySql
- 使用 mina 传输大字节数组
- 线程中更新窗口不能直接调用UpdateData函数 的解决办法
- Windows数字签名 数字签名(代码签名)流程