vcpkg使用教程

一、简介

vcpkg是由微软官方开发并维护的跨平台C/C++包管理器,可以把他理解为C/C++领域的pip(Python)、npm(JavaScript)、maven(Java) ------ 专门用来解决C/C++第三方库的下载、编译、安装和版本管理

支持 Windows、Linux、macOS 等主流操作系统,也兼容 Visual Studio、Clang、GCC 等主流编译器,是目前 C/C++ 开发中最常用的包管理工具之一。

二、安装

源码路径:GitHub - microsoft/vcpkg: C++ Library Manager for Windows, Linux, and MacOS

安装好Visual Studio , 并选择上英文语言包:

但是下载安装会存在比较慢的情况,这里需要给vcpkg配置镜像源:

常见镜像源配置方法如下:

1、Windows 下环境变量

1.1、命令修改

bash 复制代码
# 设置清华镜像源
$env:VCPKG_DOWNLOAD_MIRROR="https://mirrors.tuna.tsinghua.edu.cn/github-release/ninja-build/ninja/"
$env:X_VCPKG_ASSET_SOURCES="x-azurl,https://mirrors.tuna.tsinghua.edu.cn/vcpkg/assets/"

# 或者设置中科大镜像源
$env:VCPKG_DOWNLOAD_MIRROR="https://mirrors.ustc.edu.cn/github-release/ninja-build/ninja/"
$env:X_VCPKG_ASSET_SOURCES="x-azurl,https://mirrors.ustc.edu.cn/vcpkg/assets/"

光配置了vcpkg的国内镜像源,但是vcpkg,很多资源需要从github上下载,但是访问github又不太稳定,因此这里提供了一个简单的包,提供了VTK, OPENCV ,PCL等库

通过网盘分享的文件:vcpkg-export.7z

链接: https://pan.baidu.com/s/1BEB7v97nxr92eg6EjTDkgQ?pwd=8888 提取码: 8888

将下载好的包解压后,配置到环境变量中:

1.2、在vcpkg 安装的路径下修改配置文件

vcpkg安装目录下修改triplets\x64-windows.cmake文件:

bash 复制代码
# 在文件末尾添加以下内容 
set(VCPKG_DOWNLOAD_MIRROR "https://mirrors.tuna.tsinghua.edu.cn/github-release/ninja-build/ninja/") 
set(X_VCPKG_ASSET_SOURCES "x-azurl,https://mirrors.tuna.tsinghua.edu.cn/vcpkg/assets/")

三、使用

1、搜索需要安装的第三方库

bash 复制代码
vcpkg search <第三方包名>

2、安装第三方库

bash 复制代码
vcpkg install <第三方包名>
bash 复制代码
.\vcpkg install pcl:x64-windows --debug

3、Vs中集成vcpkg

bash 复制代码
vcpkg.exe integrate install // 将vcpkg下载的包配置到环境变量中
相关推荐
czy878747531 分钟前
深入了解 C++ 中的 `std::bind` 函数
开发语言·c++
我在人间贩卖青春40 分钟前
C++之继承的方式
c++·private·public·protected·继承方式
智者知已应修善业2 小时前
【洛谷P9975奶牛被病毒传染最少数量推导,导出多样例】2025-2-26
c语言·c++·经验分享·笔记·算法·推荐算法
Trouvaille ~2 小时前
【Linux】应用层协议设计实战(一):自定义协议与网络计算器
linux·运维·服务器·网络·c++·http·应用层协议
CSCN新手听安2 小时前
【linux】高级IO,I/O多路转接之poll,接口和原理讲解,poll版本的TCP服务器
linux·运维·服务器·c++·计算机网络·高级io·poll
CSCN新手听安2 小时前
【linux】网络基础(三)TCP服务端网络版本计算器的优化,Json的使用,服务器守护进程化daemon,重谈OSI七层模型
linux·服务器·网络·c++·tcp/ip·json
m0_736919102 小时前
C++中的委托构造函数
开发语言·c++·算法
小小小小王王王2 小时前
洛谷-P1886 【模板】单调队列 / 滑动窗口
c++·算法
历程里程碑3 小时前
Linux 库
java·linux·运维·服务器·数据结构·c++·算法
Sheep Shaun3 小时前
如何让一个进程诞生、工作、终止并等待回收?——探索Linux进程控制与Shell的诞生
linux·服务器·数据结构·c++·算法·shell·进程控制