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下载的包配置到环境变量中
相关推荐
汉克老师15 小时前
GESP2025年3月认证C++五级( 第三部分编程题(1、平均分配))
c++·算法·贪心算法·排序·gesp5级·gesp五级
智者知已应修善业18 小时前
【51单片机2个按键控制流水灯运行与暂停】2023-9-6
c++·经验分享·笔记·算法·51单片机
云泽80819 小时前
C++11 核心特性全解:列表初始化、右值引用与移动语义实战
开发语言·c++
AI进化营-智能译站20 小时前
ROS2 C++开发系列12-用多态与虚函数构建可扩展的ROS2机器人行为模块
开发语言·c++·ai·机器人
Morwit20 小时前
QML组件之间的通信方案(暴露子组件)
c++·qt·职场和发展
qeen8721 小时前
【数据结构】建堆的时间复杂度讨论与TOP-K问题
c语言·数据结构·c++·学习·
图码21 小时前
如何用多种方法判断字符串是否为回文?
开发语言·数据结构·c++·算法·阿里云·线性回归·数字雕刻
handler0121 小时前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
zhouwy11321 小时前
Linux进程与线程编程详解
linux·c++
A7bert7771 天前
【YOLOv8pose部署至RDK X5】模型训练→转换bin→Sunrise 5部署
c++·python·深度学习·yolo·目标检测