第一步:
到官网http://www.boost.org/下载boost库,最好下载1.6x最新版
第二步: 解压。
可解压到固定的目录,我是解压到E:\mylib\boost
第三步: 环境配置
VS2017更加注重跨平台性,安装文件较多,VC有三个版本,分别是arm、Hostx64、Hostx86,本文使用Hostx64。
注意,需要使用cl.exe. 默认安装时,编译器cl.exe并不在环境变量中,需要配置。
Ctrl+r输入cmd,输入cl,若显示:'cl' 不是内部或外部命令,也不是可运行的程序或批处理文件。说明没有环境变量。
配置环境变量 :
计算机右击-属性-高级系统设置-环境变量-选择Path编辑-添加cl的路径:
E:\VS2017\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64
得到上述结果,说明环境配置完成。
第四步:开始编译
右击--更多—以管理员身份运行VS2017开发人员命令提示,英文名称x64 Native Tools Command Prompt for VS 2017
1.输入命令,进入目录:
2.输入命令: bootstrap.bat
等待一分钟左右在E:\mylib\boost\boost_1_64_0生成几个文件:
3.在E:\mylib\boost\boost_1_64_0下有一个项目配置文件project-config.jam,打开作如下修改:
第五步:安装
在E:\mylib\boost\boost_1_64_0下新建一个目录build存放编译时产生的中间文件,编译结束后可以删除。
运行:
b2.exe stage --toolset=msvc-14.1 address-model=64 --stagedir="E:\mylib\boost\bin1.64.0\VC14.
1" threading=multi --build-type=complete --build-dir="E:\mylib\boost\boost_1_64_0\build"
注意版本问题:这里是VC14.1
具体介绍:
--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之间的矛盾,所以未设置。
这个过程大致需要半个小时:生成的这个文件夹就是库文件和动态链接所在。中间文件build可以直接删除。
第六步:在VS2017中的配置:
1.新建项目:
VisualC++/win32控制台应用程序
应用程序设置选择控制台应用程序,附加选项选择预编译头,完成即可。
2.粘贴代码
// boostest.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <boost/lexical_cast.hpp>
#include <iostream>
using namespace std;
int main()
{
using boost::lexical_cast;
int a = lexical_cast<int>("123");
double b = lexical_cast<double>("123.0123456789");
string s0 = lexical_cast<string>(a);
string s1 = lexical_cast<string>(b);
cout << "number: " << a << " " << b << endl;
cout << "string: " << s0 << " " << s1 << endl;
int c = 0;
try {
c = lexical_cast<int>("abcd");
}
catch (boost::bad_lexical_cast& e) {
cout << e.what() << endl;
}
return 0;
}
3.修改调试平台
因为编译的静态库和动态链接选择是64位的,选择64位平台。
4.设置编译环境和链接文件
1.设置头文件目录:
项目->属性->C/C++->常规->附加包含目录
添加:E:\mylib\boost\bin1.64.0路径
2.设置库文件目录:
项目->属性->链接器->常规->附加库目录
添加:E:\mylib\boost\bin1.64.0\VC14.1\lib路径
第七步:调试运行
ctrl+F5
第八步:安装OpenSSL
ssl库在windows平台编译支要perl支持, 比较麻烦, 我们可以直接使用安装的方式来使用本库
详见:https://slproweb.com/products/Win32OpenSSL.html 来进行安装使用。