VS2022配置编译使用boost库的实现

 更新时间:2024年12月02日 11:56:23   作者:汪宁宇  
本文介绍了如何在VS2022中配置和编译使用Boost库的步骤,包括下载Boost、解压、配置环境变量和编译等过程,具有一定的参考价值,感兴趣的可以了解一下

1、下载boost最新版本,以1.85为示例:

Boost Downloads

2、解压boost文件至D:\boost_1_85_0

3、打开VS2022命令行(红色区域不要进错了!)

4、在命令行输入以下

5、输入bootstrap.bat后会自动生成b2.exe

6、待第5步完成,依次输入这两行命令(这里根据电脑硬件配置决定,通常3-10分钟完毕)

# 生成32位
b2 toolset=msvc-14.3 --build-type=complete architecture=x86 address-model=32 threading=multi link=static,shared variant=debug,release stage

# 生成64位
b2 toolset=msvc-14.3 --build-type=complete architecture=x86 address-model=64 threading=multi link=static,shared variant=debug,release stage

7、命令行参数注释(可不用理会)

toolset=msvc-14.3 						指定了使用 Visual Studio 2017 编译器。
--build-type=complete 					表示构建所有 Boost 组件。
architecture=x86 和 address-model=32 	指定了生成 32 位架构的库。
architecture=x86 和 address-model=64 	指定了生成 64 位架构的库。
threading=multi 						表示多线程支持。
link=static,shared 						表示同时生成静态库和动态库。
variant=debug,release 					表示同时编译调试和发布版本。

8、在使用时候,VS中需要设置以下关键位置:

# 头文件目录
D:\boost_1_85_0;

# lib库目录
D:\boost_1_85_0\stage\lib;

9、上面的路径设好后,写一段测试代码试试:

#include <boost/lexical_cast.hpp>     
#include <iostream>   
 
using namespace std;
using namespace boost;
 
int main(){
 
	double a = lexical_cast<double>("3.141592");
	string str = lexical_cast<string>("3.141592");
	cout << "This is a number: " << a << endl;
	cout << "This is a string: " << str << endl;
	int b = 0;
	try {
		b = lexical_cast<int>("xiaomi_su7");
	}
	catch (bad_lexical_cast& e) {
		cout << e.what() << endl;
	}
	return 0;
}

到此这篇关于VS2022配置编译使用boost库的实现的文章就介绍到这了,更多相关VS2022配置编译boost库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • string,CString,char*之间的转化

    string,CString,char*之间的转化

    下面是MFC/C++/C中字符类型CString, int, string, char*之间的转换的说明与举例,经常用的东西,相信对于用C/C++的朋友,还是比较有用的
    2013-03-03
  • C++实现基于控制台界面的吃豆子游戏

    C++实现基于控制台界面的吃豆子游戏

    这篇文章主要介绍了C++实现基于控制台界面的吃豆子游戏,实例分析了吃豆子游戏的原理与C++实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • C++关键字mutable学习笔记

    C++关键字mutable学习笔记

    这篇文章主要为大家介绍了C++关键字mutable学习笔记,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • C语言中那些你必须知道的常用关键字

    C语言中那些你必须知道的常用关键字

    这篇文章主要介绍了C语言中我们常用的关键字静态static的详细讲解和typedef 、#define定义常量和宏,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-06-06
  • C++中this指针的用法及介绍

    C++中this指针的用法及介绍

    以下是对C++中this指针的用法进行了详细的分析介绍,需要的朋友可以过来参考下
    2013-08-08
  • C++编程指向成员的指针以及this指针的基本使用指南

    C++编程指向成员的指针以及this指针的基本使用指南

    这篇文章主要介绍了C++编程指向成员的指针以及this指针的基本使用指南,与C语言一样,存储的数值被解释成为内存里的一个地址,需要的朋友可以参考下
    2016-01-01
  • C++实现一个简单消息队列的示例详解

    C++实现一个简单消息队列的示例详解

    消息队列在多线程的场景有时会用到,尤其是线程通信跨线程调用的时候,就可以使用消息队列进行通信。本文将利用C++实现一个简单的消息队列,感兴趣的可以了解一下
    2022-12-12
  • C++ Protobuf的学习使用指南

    C++ Protobuf的学习使用指南

    protocol buffers是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等,下面就来跟随小编一起简单学习一下它的使用吧
    2023-07-07
  • C++ Futures与Promises线程使用示例讲解

    C++ Futures与Promises线程使用示例讲解

    future和promise的作用是在不同线程之间传递数据。使用指针也可以完成数据的传递,但是指针非常危险,因为互斥量不能阻止指针的访问;而且指针的方式传递的数据是固定的,如果更改数据类型,那么还需要更改有关的接口,比较麻烦
    2022-11-11
  • C++中静态成员函数与静态成员变量(static )

    C++中静态成员函数与静态成员变量(static )

    这篇文章主要介绍了C++中静态成员函数与静态成员变量(static )的相关资料,需要的朋友可以参考下
    2017-06-06

最新评论