boost简介
boost是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库。
boost安装(vs2017+boost_1_64_0+win10)
1、到官网下载boost,http://www.boost.org/
2、解压,解压到d:\boost目录下,这个解压到自己认为合适的目录就行。
3、环境配置
VS2017更加注重跨平台性,安装文件较多,VC有三个版本,分别是arm、Hostx64、Hostx86,本文使用Hostx64。
默认安装时,编译器cl.exe并不在环境变量中,需要配置。
添加环境变量PATH: D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64
运行VS2017开发人员命令提示,英文名称x64 Native Tools Command Prompt for VS 2017 运行Developer Command Prompt for VS2017也可。
4、输入命令 cd d:\boost\boost_1_64_0
5、输入bootstrap.bat运行
6、在d:\boost\boost_1_64_0目录中生成了b2.exe和bjam.exe
7、在目录C:\boost\boost_1_64_0下有一个项目配置文件project-config.jam,用记事本或其他文本编辑工具打开,做如下修改:
其中第二行的目录是你VS2017的安装目录中cl.exe的位置。
8、运行 b2.exe stage –toolset=msvc-14.0address-model=64 –stagedir=”C:\boost\bin1.63.0\VC14.0”threading=multi –build-type=complete
具体介绍:
–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之间的矛盾,所以未设置。
9、过一段时间后在文件夹d:\boost\boost_1_64_0\bin\vc14\lib下生成.dll及.lib文件。d:\boost\boost_1_64_0\bin.v2是编译产生的临时目录,可删除。
10、安装完成。
验证开发环境
让我们来编写一个简单的boost应用程序来验证开发环境
在编写代码前要在项目->属性->c/c++ ->常规 “附加包含目录”链接器->常规 “附加包含目录”中添加之前生成的boost lib目录
测试代码如下:
#include "stdafx.h"
#include<iostream>
#include<stdio.h>
#include<boost/version.hpp> //包含boost头文件
#include<boost/config.hpp>
int main()
{
using namespace std;
cout << BOOST_VERSION << endl;
cout << BOOST_LIB_VERSION << endl;
cout << BOOST_PLATFORM << endl;
cout << BOOST_COMPILER << endl;
cout << BOOST_STDLIB << endl;
system("pause");
return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
运行结果:
boost安装成功,入门第一课完成了