Boost 配置安装

  • 下载Boost库,这里我选择下载boost_1_64_0.zip

  • 解压,找到bootstrap.bat,双击运行;

  • 执行完毕后,生成bjam.exe,双击运行;

  • 等待运行完毕,安装成功
    (上面的安装方法只适用于32位的系统,如果需要安装64位的,并且对Debug/Release模式等参数进行修改需要进入命令终端才能修改)

64位boost安装

  • 首先同样是解压,运行bootstrap.bat,得到bjam.exe;

  • win+R,输入cmd,进入命令终端,进入到bjam.exe所在的文件夹内;

bjam.exe --build-type=complete threading=multi address-model=64 

上面代码重要的是一定要输入address-model=64,否则默认是32位的

在生成的boost_1_64_0/stage/lib当中,会有一些libboost_***mt-sgd-*.lib的文件,前缀相同的对于mt、s、gd等等的含义如下:
mt:表示threading=multi,多线程;
s:表示link=static;
gd:表示debug模式;

可能遇到的错误

  • 如果在编程中遇到无法打开**.lib,然后发现自己的lib库中有类似的却不完全相同的时候就是由于生成boost的时候的参数设置除了问题,重新生成就好了。

  • 另外还有可能会发生一种错误,大概是说Release/Debug啥的0和2不匹配之类的错误,就是由于Debug和Release模式的问题,所以不能区分的时候就直接Debug和Release模式都生成。

测试

新建一个VS2015控制台应用程序(工程名为ConsoleApplication1),添加如下代码

#include "stdafx.h"
#include      
#include      
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;
}
  • 添加boostest工程的包含目录和库目录

Boost 配置安装_第1张图片

Boost 配置安装_第2张图片

  • 编译成功,OK

你可能感兴趣的:(配置安装遇到的问题,boost,Cmake)