欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VS2017编译boost库

程序员文章站 2022-07-13 21:23:10
...

第一步:到官网http://www.boost.org/下载boost库,最好下载最新版


第二步:解压到D盘(其他盘也可),这里以boost1.63版为例


第三步:打开VS2017开发人员命令提示,英文名称Developer Command Prompt VS for 2017


第四步:输入命令d:  ,进入D盘,再输入命令cd D:\boost_1_63_0,进入D:\boost_1_63_0后,输入命令bootstrap,等待1分钟左右会在D:\boost_1_63_0

生成几个文件,最小化开发人员命令提示


第五步:在目录D:\boost_1_63_0下有一个项目配置文件project-config.jam,用记事本或其他文本编辑工具打开,做如下修改:

import option ;

using msvc : 14.0 : "D:\Visual Studio 2017\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64\cl.exe";

option.set keep-going : false ;

其中第二行的目录是你VS2017的安装目录


第六步:最大化开发人员命令提示,输入命令

b2 install --toolset=msvc-14.0 --prefix="c:\boost" --build-type=complete --without-python--without-mpi
上面的"c:\boost"是你生成的lib库所在地,可以保持默认

这个命令会在你的C盘里生成一个编译好的boost库,编译时间因电脑性能不同而不同,大概1~2个小时左右


下面进行配置vs2017:


第一步、新建项目

Visual C++-------win32控制台


VS2017编译boost库


VS2017编译boost库

默认选择完成。

第二步、复制代码

代码如下:

#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;
    }
}

第三步、修改调试平台


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



VS2017编译boost库



VS2017编译boost库


第四步、设置编译环境及链接

项目------选项----C/C++附加包含目录----链接器附加库目录

VS2017编译boost库

此项为头文件目录,要保证能找到头文件,即C:\boost\boost_1_63_0中含有boost,而boost中为头文件。


VS2017编译boost库

此项为头文件目录,要保证能找到头文件,即C:\boost\boost_1_63_0中含有boost,而boost文件夹中为头文件。


VS2017编译boost库

点击链接器,附加库目录为编译时候产生的包含静态库或动态链接的文件夹,本文设置为编译时候设置的C:\boost\bin1.63.0\VC14.0\lib。

如下图所示:


VS2017编译boost库

将C:\boost\bin1.63.0\VC14.0\lib 粘贴进去,确定。


VS2017编译boost库

Note:如果编译时候找不到,则重新设置本步骤。

第四步、解决编译时候产生的打不开文件问题。

便有错误如下:
[cpp] view plain copy
  1. (Win32): 已加载“C:\Windows\System32\ntdll.dll”。无法查找或打开 PDB 文件。  

解决措施:

点击调试-----选项-----右边勾上“启用源服务器支持”----左边点“符号”—右边勾选“微软符号服务器”。


VS2017编译boost库



右边勾上“启用源服务器支持”。


VS2017编译boost库

左边点“符号”—右边勾选“微软符号服务器”。


VS2017编译boost库

第五步、调试运行

使用Ctrl+f5


VS2017编译boost库

结果如下图所示,则配置完成。

VS2017编译boost库