1.http://www.boost.org/     下载boost库。

2.解压到 D:\ProgramFiles\boost

3.环境配变量配置

    VS2017更加注重跨平台性,安装文件较多,VC有三个版本,分别是arm、Hostx64、Hostx86,我们使用Hostx64。
    注意,需要使用cl.exe. 默认安装时,编译器cl.exe并不在环境变量中,需要配置。
 
    测试环境变量:
    运行输入cmd,输入cl,若显示:'cl' 不是内部或外部命令,说明没有环境变量。
 
    配置环境变量:
    选择Path编辑-添加cl的路径:
     D:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.11.25503\bin\Hostx64\x64
 
4.开始编译
    以管理员身份运行VS2017开发人员命令提示,英文名称x64 Native Tools Command Prompt for VS 2017
    进入目录
    cd D:\ProgramFiles\boost\boost_1_65_1
    运行bootstrap.bat,生成b2.exe,bjam.exe和project-config.jam。
 
    很多资料说要编辑project-config.jam文件,如下
     import option ;  
     using msvc :14.1:"D:/Program Files (x86)/Microsoft Visual      Studio/2017/Enterprise/VC/Tools/MSVC/14.11.25503/bin/Hostx64/x64/cl.exe";  
    option.set keep-going : false ;
 
    编译没有成功。
 
    不修改此文件,保持不变,编译成功。
 
5.生成
      b2.exe install --toolset=msvc-14.1 --prefix="D:/ProgramFiles/boost/lib" --without-python threading=multi --build-   type=complete  address-model=64
 
     具体介绍:

--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可以直接删除。
 
 
6.测试库
 
 新建一个ConsoleApplication程序,配置boost库使用。在Project->Properties
 1.C/C++ -> General -> Additional Include Directories添加库头文件目录。
   D:\ProgramFiles\boost\lib\include\boost-1_65_1
 2.Linker->Additional Library Directories 添加库lib文件目录。
   D:\ProgramFiles\boost\lib\lib 

#include "stdafx.h"
#include <iostream>
#include<boost/date_time/gregorian/greg_date.hpp> using namespace std;
int main()
{
using boost::gregorian::date;
date a{ , , }, b{ , , };
std::cout << (b - a).days() << "\n"; cin.get();
return ;
}

运行结果为:8

 

VS2017编译boost库的更多相关文章

  1. windows下编译Boost库

    下载源码 boost_1_66_0.7z 生成编译工具 D:\Project\boost_1_66_0> bootstrap.bat 配置Python环境变量(使用VS2017自带的32位pyt ...

  2. Linux下编译boost库和qt和ImageMagick

    需要把整个PCIE的工程移植到Linux下,当初就是用cmake来管理的工程的.但是命令行之类的还是需要改动.改动还不少,cmake里面很多东西都依赖于windows.包括我用cmake重新管理的工程 ...

  3. VS2008编译boost库

    一.下载首先从boost官方主页http://www.boost.org/下载最新版boost安装包,我用的版本是boost.1.49.0二.新建文件夹 如果是使用下载的安装包,那么请将boost安装 ...

  4. ndk 编译 boost 库,支持serialization

    Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容.在C+ ...

  5. windows上编译boost库

    要用xx库,编译boost时就指定--with-xx.例如: # 下载并解压boost_1.58 # 进入boost_1.58目录 bjam.exe toolset=msvc-14.0 --build ...

  6. 编译 boost 库(win7+boost1.60+vs2008)

    参见:http://blog.csdn.net/u013074465/article/details/42532527 下载boost安装包 https://sourceforge.net/proje ...

  7. linux下编译Boost库

    下载源码 boost_1_66_0.tar.gz 生成编译工具 # tar axf boost_1_66_0.tar.gz # cd boost_1_66_0 # yum install gcc gc ...

  8. vs2017编译boost 1.70.0

    目前最新版本的boost库是1.70.0.现在在学习使用cinatra搭建c++的http服务器,需要用到boost库中的asio,下载了一下最新版本的boost库,捣鼓了半天. 1.下载 boost ...

  9. IOS上编译boost库

    环境:xcode9mac os 10.13 1.下载boost库并解压2.cd到解压后的文件包内,执行 sh bootstrap.sh(解压后会得到这个脚本文件).3.执行./b2 编译整个库.4.经 ...

随机推荐

  1. elasticsearch 安装、配置

    elasticsearch:基于java开发,基于RESTful web 接口,提供分布式多用户能力的全文搜索引擎. elasticsearch 安装: 1. java SE Development ...

  2. [学习笔记]Dsu On Tree

    [dsu on tree][学习笔记] - Candy? - 博客园 题单: 也称:树上启发式合并 可以解决绝大部分不带修改的离线询问的子树查询问题 流程: 1.重链剖分找重儿子 2.sol:全局用桶 ...

  3. JSON必知必会,浅尝辄止的整理

    在使用JSON时常见的安全漏洞通常发生在JavaScript从服务器获取到一段JSON字符串并将其转化为JavaScript对象时, 在定位JSON安全问题时,应该记住三件事情: 1.不要使用顶级数组 ...

  4. hiho一下 第144周(机会渺茫)解题报告及拓展

    题目1 : 机会渺茫 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi最近在追求一名学数学的女生小Z.小Z其实是想拒绝他的,但是找不到好的说辞,于是提出了这样的要求: ...

  5. Selenium基于Python 进行 web 自动化测试

    配置使用环境 下载相应的浏览器驱动, Firefox 是默认的 本文以 chrome 为主 ,放在scripts目录下ChromeDriver 官方下载地址 : 所有版本的 ChromeDriver ...

  6. Nginx的介绍以及编译安装详解

    Nginx的介绍以及编译安装详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Nginx(全称”engine x“)诞生背景 apache主要优点是功能丰富且足够稳定,但是其 ...

  7. 整理备忘一波liunx命令(持续更新)

    # 分区挂载 查看当前目录下的文件大小 du --max-depth= -h # 文件操作 # 编辑操作 #liunx 字体设置 苹果方字体下载安装 # 网洛端口 netstat命令各个参数说明如下: ...

  8. cdqz2017-test11-占卜的准备

    #include<cstdio> #include<iostream> #include<algorithm> using namespace std; #defi ...

  9. VUE2.0 饿了吗视频学习笔记(三):VUE2.0取消了v-link

    https://gitee.com/1981633/vue_study.git 源码下载地址,随笔记动态更新中 写法如下 <div class="tab-item"> ...

  10. QWidget窗口类

    import sys from PyQt5.QtWidgets import QWidget, QApplication,QPushButton from PyQt5.QtGui import QIc ...