前言
从今天开始打算好好学习一下Boost库,于是在网上参考了一下别人的教程,成功在VS2013下搭建了Boost开发环境,记录一下。
Boost下载
安装的Boost版本是1.61.0,下载地址Boost 1.61.0,或者从官网(www.boost.org)下载最新版的BOOST源码,如图所示
Boost编译预处理
1、将下载的 boost_1_61_0.zip 解压在E盘,例如 E:\boost_1_61_0
2、打开VS2013 x86 本机工具命令提示,可以从开始–Microsoft Visual Studio 2013找到:
3、执行bootstrap.bat
4、编译,可以简单的使用b2 install,也可以指定存放目录,或者寻找网上其它帮助文章。
// 如果要获取动态库:
bjam install stage –toolset=msvc-12.0 –stagedir=”C:\Boost\boost_vc_120” link=shared runtime-link=shared threading=multi debug release
// 如果是要获取静态库:
bjam install stage –toolset=msvc-12.0 –stagedir=”C:\Boost\boost_vc_120” link=static runtime-link=static threading=multi debug release
其中,注意修改–toolset=msvc-12.0,将12.0修改成对应的vs版本号,12.0是VS2013的版本号。
目标地址也要修改成你所需的。
编译过程有一个复制过程,编译需要的时间比较长,本次编译过程中,会在C盘根目录下生成一个boost文件夹,然后包含include和lib文件夹,这就是我们将要使用的头文件和库文件。
我使用的是:bjam install stage –toolset=msvc-12.0 –stagedir=”C:\Boost\boost_vc_120” link=static runtime-link=static threading=multi debug release
VS2013环境配置
1、打开VS2013,创建一个空的控制台项目Test,添加新文件main.cpp,加入如下代码
#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;
}
system("pause");
return 0;
}
2、在项目Test右键 选择 ->属性页(VS2013在这才能找到相关的属性配置栏)->C/C++ ->常规,在 附加包含目录添加或编辑Boost的文件目录,
3、在项目Test右键 选择 ->属性页(VS2013在这才能找到相关的属性配置栏)->链接器 ->常规,在 附加库目录添加或编辑Boost的库目录,
4、Ctrl+F5 开始运行。
总结
注意为当前项目配置Boost文件及库路径一定要配置对,否则编译运行会出错。