VS2017下编译和配置boost库
来源:互联网 发布:网络医生妇科 编辑:程序博客网 时间:2024/05/16 02:34
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
得到上述结果,说明环境配置完成。
第四步:开始编译
右击--更多—以管理员身份运行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
参考:
VS2017下boost配置 - Next Step - 博客频道 - CSDN.NET
http://blog.csdn.net/litingcheng1126/article/details/70337821
阅读全文
0 0
- VS2017下编译和配置boost库
- VS2017下编译和配置boost库
- VS2017下Boost编译
- VS2017下boost配置
- VS2017编译boost库
- 编译boost库 VS2017
- VS2017 boost编译和用法
- VS2017 编译64位boost静态库
- boost于vs2017下编译(64/32bit)
- Windows10+VS2017下安装和 编译openssl库
- windows下编译和配置boost
- windows下编译、配置Boost库
- Windows下使用Vs2017编译id3lib库
- Windows下编译和安装Boost库
- windows下编译和安装boost库
- 使用 CMake + VS2017 ( + Python 3) 配置和编译 OpenCV 3.3
- Boost - windows下编译boost和提取boost子集
- win7下vs2010编译boost库及安装配置方法
- Android图片加载框架Glide用法
- ImageLoader三级缓存实现简单分析
- Java并发编程实战--闭锁 CountDownLatch
- RestTemplate的异常:Not enough variables available to expand
- 软编码Flv 到Mp4 容器(外传一)avcc box
- VS2017下编译和配置boost库
- OC学习之路(9)
- 网络安全实验室-基础-2
- 对话语料--字幕库
- 欢迎使用CSDN-markdown编辑器
- JavaMail的基础知识
- 第二天 mongoose的封装
- 汇编程序 内存不可用
- 1. Two Sum