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库了,它自己就会引用了。

相关推荐
C++ 老炮儿的技术栈2 小时前
我们在设计tcp协议时,要传一个字符串过去,报文:头十长度十内容,是否要把‘\0‘也填入,长度是否包含‘\0‘
开发语言·数据结构·c++·mfc·c
I_belong_to_jesus7 小时前
std::unique_ptr成员函数用法
c++
Tairitsu_H8 小时前
[C++] 拷贝构造还是赋值重载?类默认成员函数细节详解
开发语言·c++·类和对象
汉克老师9 小时前
GESP2026年9月认证C++四级( 第一部分选择题(1~7题)精讲
c++·gesp·小学生·学c++编程
geats人山人海9 小时前
现代c++第二章 字符串
c++
idealzouhu9 小时前
现代 CMake 依赖管理详解:从构建树、Target 封装到 find_package 工作原理
c++·cmake
四代水门10 小时前
游戏客户端——算法题
c++
Xia__Quan10 小时前
centos 共享文件夹
c++
hi_ro_a11 小时前
基于正倒排索引的boost搜索引擎
linux·c++·搜索引擎·项目
神仙别闹11 小时前
基于 C++ MFC 实现的个人通讯录管理系统
c++