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下载的包配置到环境变量中
相关推荐
张张努力变强5 小时前
C++ STL string 类:常用接口 + auto + 范围 for全攻略,字符串操作效率拉满
开发语言·数据结构·c++·算法·stl
小镇敲码人5 小时前
探索CANN框架中TBE仓库:张量加速引擎的优化之道
c++·华为·acl·cann·ops-nn
平安的平安6 小时前
面向大模型算子开发的高效编程范式PyPTO深度解析
c++·mfc
June`6 小时前
muduo项目排查错误+测试
linux·c++·github·muduo网络库
C++ 老炮儿的技术栈6 小时前
VS2015 + Qt 实现图形化Hello World(详细步骤)
c语言·开发语言·c++·windows·qt
Once_day6 小时前
C++之《Effective C++》读书总结(4)
c语言·c++·effective c++
柯一梦6 小时前
STL2---深入探索vector的实现
c++
MSTcheng.6 小时前
【C++】C++11新特性(二)
java·开发语言·c++·c++11
愚者游世6 小时前
Delegating Constructor(委托构造函数)各版本异同
开发语言·c++·程序人生·面试·改行学it
小镇敲码人6 小时前
探索华为CANN框架中的ACL仓库
c++·python·华为·acl·cann