VS2017下编译和配置boost库

分手后的思念是犯贱 2022-06-15 04:11 438阅读 0赞

VS2017下编译和配置boost库

第一步:

到官网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

![Image 1][]Center

![Image 1][]

得到上述结果,说明环境配置完成。

第四步:开始编译

右击—更多—以管理员身份运行VS2017开发人员命令提示,英文名称x64 Native Tools Command Prompt for VS 2017

![Image 1][]Center 1

![Image 1][]

1.输入命令,进入目录:

![Image 1][]

![Image 1][]Center 2

2.输入命令: bootstrap.bat

等待一分钟左右在E:\mylib\boost\boost_1_64_0生成几个文件:

![Image 1][]

Center 3

![Image 1][]

3.在E:\mylib\boost\boost_1_64_0下有一个项目配置文件project-config.jam,打开作如下修改:

![Image 1][]Center 4

![Image 1][]

第五步:安装

在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可以直接删除。

![Image 1][]Center 5

![Image 1][]

第六步:在VS2017中的配置:

1.新建项目:

VisualC++/win32控制台应用程序

应用程序设置选择控制台应用程序,附加选项选择预编译头,完成即可。

2.粘贴代码

// boostest.cpp : 定义控制台应用程序的入口点。

//

#include “stdafx.h”

#include

#include

using namespace std;

int main()

{

using boost::lexical_cast;

int a = lexical_cast(“123”);

double b = lexical_cast(“123.0123456789”);

string s0 = lexical_cast(a);

string s1 = lexical_cast(b);

cout << “number: “ << a << “ “ << b << endl;

cout << “string: “ << s0 << “ “ << s1 << endl;

int c = 0;

try {

c = lexical_cast(“abcd”);

}

catch (boost::bad_lexical_cast& e) {

cout << e.what() << endl;

}

return 0;

}

3.修改调试平台

因为编译的静态库和动态链接选择是64位的,选择64位平台。

Center 6

![Image 1][]

![Image 1][]

4.设置编译环境和链接文件

1.设置头文件目录:

项目->属性->C/C++->常规->附加包含目录

添加:E:\mylib\boost\bin1.64.0路径

![Image 1][]Center 7

![Image 1][]

2.设置库文件目录:

项目->属性->链接器->常规->附加库目录

添加:E:\mylib\boost\bin1.64.0\VC14.1\lib路径

![Image 1][]Center 8

![Image 1][]

第七步:调试运行

ctrl+F5

参考:

VS2017下boost配置 - Next Step - 博客频道 - CSDN.NET

http://blog.csdn.net/litingcheng1126/article/details/70337821

[Image 1]:

发表评论

表情:
评论列表 (有 0 条评论,438人围观)

还没有评论,来说两句吧...

相关阅读