VCPKG 跨平台C++ 库管理器

VCPKG 适用于 Windows、Linux 和 MacOS 的 C++库管理工具,有一些常用的库,没必要自己手动一次次编译,太麻烦,直接用此工具安装即可。

VCPKG 安装

此工具安装地址

复制代码
https://github.com/microsoft/vcpkg

下载即可

复制代码
git clone https://github.com/microsoft/vcpkg

执行如下命令

复制代码
.\bootstrap-vcpkg.bat

显示执行完毕,可以看到执行这个命令的目的就是下载 vcpkg.exe这个文件。

配置为默认命令

添加到系统路径下

然后,就可以直接在命令行里使用此命令了

默认搜索

vcpkg search redis 就可以看到所有库

VCPKG 命令

具体可以参考这个地址

复制代码
https://learn.microsoft.com/zh-cn/vcpkg/commands/add
命令 功能描述
vcpkg search [pkg] 搜索可用库
vcpkg install [pkg] 安装库
vcpkg install [pkg]:x64-windows 安装特定版本
vcpkg remove [pkg] 卸载库
vcpkg remove --outdated 卸载所有不在使用库
vcpkg list 列出已安装包
vcpkg update 检查可更新库
vcpkg upgrade 升级所有库
vcpkg integrate install 全局集成到 Visual Studio
vcpkg integrate remove 取消全局集成

结合VS2022开发

默认环境设置

先执行 vcpkg integrate install命令,集成到VS环境

创建个项目

还是 boost项目,我们先用 vcpkg search boost命令查询有什么包可以安装

查看还是有包可以安装的

直接执行以下命令

复制代码
vcpkg install boost

然后,就如图

会一直安装和下载各种包。

第一次下载还是要一些时间的。

而且,实际上里面包含了很多东西,所以,文件也会大一些。

新增项目

复制代码
#include <boost/thread.hpp>
#include <iostream>

void task1() {
    for (int i = 0; i < 5; ++i) {
        std::cout << "Task1: " << i << std::endl;
        boost::this_thread::sleep(boost::posix_time::milliseconds(200));
    }
}

void task2(int n) {
    for (int i = 0; i < n; ++i) {
        std::cout << "Task2: " << i << std::endl;
        boost::this_thread::sleep(boost::posix_time::milliseconds(300));
    }
}

int main() {
    // 创建线程
    boost::thread t1(task1);
    boost::thread t2(task2, 5);

    // 等待线程结束
    t1.join();
    t2.join();

    std::cout << "所有线程完成!" << std::endl;
    return 0;
}

可以看到,现在已经不需要引用头文件和lib库了,它自己就会引用了。

相关推荐
汉克老师1 小时前
CSP-J 初赛(以满分为目标):第十五课《结构体、排序与自定义比较——从“给数字排队”到“给一群人排队”》
c++·csp-j·小学生·学c++编程
HugoStudio_SWAN3 小时前
C++ CMD 互动动画:按键触发爆炸效果
开发语言·c++·学习·程序人生
水饺编程3 小时前
第5章,[Win32 章节] :Polygon 函数和多边形填充模式
c语言·c++·windows·visual studio
wuminyu3 小时前
Java FFM处理网络读写事件源码剖析
java·linux·c语言·jvm·c++
一木 之林3 小时前
C/C++ 面向对象编程(OOP)(进阶)
java·c语言·c++
千谦阙听4 小时前
C++篇:类和对象(上)
开发语言·c++
_Narcissus_5 小时前
分治&递归
数据结构·c++·笔记·算法·leetcode·递归·分治
牛油果子哥q6 小时前
C++ Socket精讲:TCP/UDP套接字、客户端服务端实现、字节序、粘包拆包、简单HTTP服务、网络踩坑与面试全解
网络·c++·tcp/ip
程与留6 小时前
12_常用控件速查(下):QSpinBox、QSlider、QProgressBar、QCheckBox
c++·qt
OPEN-F6 小时前
C++进阶教程:运算符重载与类型转换
java·c++·算法