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下载的包配置到环境变量中
相关推荐
烧酒同学2 小时前
【C++】记录size of std::vector的巧妙坑
开发语言·c++·图形渲染
@呱呱爱学习4 小时前
C++大成之路_ STL容器_ Vector
开发语言·c++
码匠许师傅4 小时前
【C++ 面试真题】19. 聊聊 C++ 的迭代器
开发语言·c++·面试
qeen875 小时前
【数据结构】红黑树的算法原理解析与实现
开发语言·数据结构·c++·算法·红黑树
码匠许师傅5 小时前
【C++ 面试真题】20. 聊聊 C++ 的标准库常用算法
c++·算法·面试
白色冰激凌6 小时前
[SECS/GEM研究] (六)SML与数据序列化
c++·secs/gem
_小柏_6 小时前
总结下最近面试出现的问题
c++·面试
我是慎独7 小时前
VulkanSceneGraph学习教程(十一)
c++·学习
stolentime7 小时前
AT_agc066_a [AGC066A] Adjacent Difference题解
c++·算法·贪心算法·构造
程序猿编码7 小时前
不用PyTorch,我用C++手写了一个能认手写数字的神经网络
c++·pytorch·神经网络·大模型