C++中Boost库安装使用指南(VS2022 + vcpkg)

 更新时间:2025年06月04日 09:21:10   作者:JuicyActiveGilbert  
本文主要介绍了C++中Boost库安装使用指南(VS2022 + vcpkg),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前置:跨平台C++包管理利器vcpkg完全指南

一、安装Boost组件

# 管理员权限打开PowerShell
cd C:\vcpkg
.\vcpkg install boost-system:x64-windows boost-filesystem:x64-windows boost-date-time:x64-windows

二、创建VS2022项目

  • 新建项目 → Visual C++ → 控制台应用 → 项目名"BoostDemo"
  • 解决方案资源管理器右键项目 → 属性

三、项目配置###

1. C/C++ → 常规 → 附加包含目录:

  • C:\vcpkg\installed\x64-windows\include

2. 链接器 → 常规 → 附加库目录:

  • C:\vcpkg\installed\x64-windows\lib

3. 链接器 → 输入 → 附加依赖项:

  • boost_system-vc143-mt-x64-1_86.lib
  • boost_filesystem-vc143-mt-x64-1_86.lib

注意:具体名称以自己安装的版本与路径为主。

四、完整示例代码

#include <iostream>
#include <fstream>
#include <boost/filesystem.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>

namespace fs = boost::filesystem;
namespace pt = boost::posix_time;

void print_directory(const fs::path& dir) {
    try {
        if (fs::exists(dir)) {
            std::cout << "目录内容: " << dir << "\n";
            for (const auto& entry : fs::directory_iterator(dir)) {
                std::cout << "  " << entry.path().filename() << std::endl;
            }
        }
    }
    catch (const fs::filesystem_error& e) {
        std::cerr << "文件系统错误: " << e.what() << std::endl;
    }
}

int main() {
    // 1. 文件系统操作
    fs::path current_dir = fs::current_path();
    std::cout << "当前工作目录: " << current_dir << "\n\n";

    // 创建测试目录
    fs::create_directories("test_dir/data");
    std::ofstream("test_dir/sample.txt") << "Boost测试文件";

    // 列出目录内容
    print_directory("test_dir");

    // 2. 日期时间操作
    pt::ptime now = pt::second_clock::local_time();
    pt::time_duration td = now.time_of_day();

    std::cout << "\n当前时间: "
        << now.date().year() << "-"
        << std::setw(2) << std::setfill('0') << now.date().month().as_number() << "-"
        << std::setw(2) << now.date().day() << " "
        << td.hours() << ":" << td.minutes() << ":" << td.seconds()
        << std::endl;

    // 3. 路径操作演示
    fs::path p("test_dir/data/file.dat");
    std::cout << "\n路径分解演示:\n"
        << "根目录: " << p.root_name() << "\n"
        << "相对路径: " << p.relative_path() << "\n"
        << "父目录: " << p.parent_path() << "\n"
        << "文件名: " << p.filename() << std::endl;

    // 清理测试目录
    fs::remove_all("test_dir");

    return 0;
}

注意:运行时选Release

输出结果示例

 输出结果示例
当前工作目录: "C:\BoostDemo\x64\Release"

目录内容: "test_dir"
  data
  sample.txt

当前时间: 2024-2-5 14:30:45

路径分解演示:
根目录: ""
相对路径: "test_dir/data/file.dat"
父目录: "test_dir/data"
文件名: "file.dat"

五、高级配置说明

静态链接配置

# 安装静态库版本
vcpkg install boost-system:x64-windows-static

项目属性调整:

  • C/C++ → 代码生成 → 运行库:/MT

到此这篇关于C++中Boost库安装使用指南(VS2022 + vcpkg)的文章就介绍到这了,更多相关C++ Boost库安装内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • VS报错C6011的问题:取消对NULL指针的引用(解决方法)

    VS报错C6011的问题:取消对NULL指针的引用(解决方法)

    这篇文章主要介绍了VS报错C6011的问题:取消对NULL指针的引用(解决方法),C6011:取消对NULL指针的引用,发现是没有进行空指针的判断,解决方案跟随小编一起看看吧
    2024-01-01
  • 深入了解C++智能指针的使用

    深入了解C++智能指针的使用

    智能指针的本质就是使用一个对象来接管一段开辟的空间,在该对象在销毁的时候,自动调用析构函数来释放这段内存。本文就来和大家详细聊聊智能指针的使用,需要的可以参考一下
    2022-10-10
  • C++ 中的 mutable关键字作用与使用场景分析(最新推荐)

    C++ 中的 mutable关键字作用与使用场景分析(最新推荐)

    C++中的mutable关键字允许在常量成员函数中修改特定成员变量,主要用于缓存机制、延迟计算和多线程同步等场景,它在设计中提供灵活性,但使用时需谨慎,本文介绍C++ 中的 mutable关键字作用与使用场景分析,感兴趣的朋友一起看看吧
    2025-02-02
  • 使用C语言实现扫雷游戏

    使用C语言实现扫雷游戏

    这篇文章主要为大家详细介绍了使用C语言实现扫雷游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • C语言编程中从密码文件获取数据的函数总结

    C语言编程中从密码文件获取数据的函数总结

    这篇文章主要介绍了C语言编程中从密码文件获取数据的函数总结,包括getpw()函数和getpwnam()函数以及getpwuid()函数,需要的朋友可以参考下
    2015-08-08
  • C++中继承基类与派生类的区别

    C++中继承基类与派生类的区别

    这篇文章主要介绍了C++中继承基类与派生类的区别,面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易,需要的朋友可以参考下
    2023-05-05
  • C语言树状数组的实例详解

    C语言树状数组的实例详解

    这篇文章主要介绍了C语言树状数组的实例详解的相关资料,希望通过本文能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下
    2017-10-10
  • c++选择排序详解

    c++选择排序详解

    选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从无序组的数据元素中选出最小(或最大)的一个元素,存放在无序组的起始位置,无序组元素减少,有序组元素增加,直到全部待排序的数据元素排完。
    2017-05-05
  • C++面向对象之多态的实现和应用详解

    C++面向对象之多态的实现和应用详解

    相信大家都知道面向对象的三大特性是封装,继承和多态,下面这篇文章主要给大家介绍了关于C++面向对象之多态的实现和应用的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-09-09
  • C++ 中的虚函数表及虚函数执行原理详解

    C++ 中的虚函数表及虚函数执行原理详解

    这篇文章主要介绍了C++ 中的虚函数表及虚函数执行原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03

最新评论