vcpkg是一个C++的包管理器。类似Python中的pip。安装后可以直接通过命令下载一些C++的包,省的自己编译配路径。安装后的包都被vcpkg统一保存,统一配置路径。VS中哪个项目需要,就将其配置到某个项目中,当然也可以全局配置。

1、下载vcpkg:
git clone https://github.com/microsoft/vcpkg
将vcpkg这级目录添加到环境变量
【我的目录】D:\13vcpkg\vcpkg

2、安装vcpkg:
运行bootstrap-vcpkg.bat
这一步就是会在线下载一个vcpkg.exe到目录
假如bat运行失败,可以手动到提示地址下载,放在vcpkg目录下即可

然后执行(base) PS D:\13vcpkg\vcpkg> .\vcpkg.exe integrate install

这时候可以查看一下支持的库列表
(base) PS D:\13vcpkg\vcpkg> .\vcpkg.exe search >支持列表.txt
目前2023年4月17日是有4500多个库

3、测试一下:

比如安装一个jsoncpp试试
(base) PS D:\13vcpkg\vcpkg> .\vcpkg.exe install jsoncpp
warning: Starting with the September 2023 release, the default triplet for vcpkg libraries will change from x86-windows to the detected host triplet (x64-windows). To resolve this message, add --triplet x86-windows to keep the same behavior.
Computing installation plan...
A suitable version of cmake was not found (required v3.25.1) Downloading portable cmake 3.25.1...
Downloading cmake...
https://github.com/Kitware/CMake/releases/download/v3.25.1/cmake-3.25.1-windows-i386.zip->D:\13vcpkg\vcpkg\downloads\cmake-3.25.1-windows-i386.zip
Downloading https://github.com/Kitware/CMake/releases/download/v3.25.1/cmake-3.25.1-windows-i386.zip

【注】这里会检查一些依赖项,缺少的话就会主动下载,但是可能会很慢,可以自己复制链接使用迅雷下载,然后把下载的文件放到vcpkg文件夹下的downloads文件夹下
这个文件夹是初始没有的,安装库的时候会自动创建

如果不指定安装的架构,vcpkg默认把开源库编译成x86的Windows版本的库。
那如果要安装编译某一个架构的开源库,我们该怎么写呢?我们只需要在需要安装的包后面指定相应的triplet即可。
例如我们需要编译64位版本的jsoncpp,那么执行如下命令即可。
.\vcpkg.exe install jsoncpp:x64-windows

(base) PS D:\13vcpkg\vcpkg> .\vcpkg.exe install jsoncpp
warning: Starting with the September 2023 release, 
the default triplet for vcpkg libraries will change from 
x86-windows to the detected host triplet (x64-windows). 
To resolve this message, add --triplet x86-windows to keep the same behavior.
这是一个警告信息,意思是从2023年9月的vcpkg版本开始,
默认的triplet(体系结构架构)将从x86-windows更改为检测到的主机triplet(x64-windows)。
这意味着如果您使用的是x86架构的计算机,您需要在使用vcpkg时添加一个额外的参数"--triplet x86-windows",
以保持与以前版本的兼容性,否则您可能会遇到一些兼容性问题。

vcpkg是一个开源的C++库管理器,允许用户在Windows、Linux和macOS等平台上进行C++库的安装和管理。
triplet是一个用于指定平台、体系结构和编译器的组合参数,vcpkg使用它来下载和编译库。

4、移除安装包
移除一个已经安装(编译)的开源库
如果移除一个已经安装的开源库,那么执行remove指令即可。比如我们要移除jsoncpp,那么执行命令:
.\vcpkg.exe remove jsoncpp
注意:
这个时候只是移除了默认的x86-winodws版本的文件,如果有其他平台的版本需要移除,需要制定相应的triplet。
移除也只是移除了二进制程序库而已,源码包和解压缩的源码并没有删除。

5、列出已经安装的开源库
执行list指令即可,例如:

.\vcpkg.exe list
 
 
6、导出已经安装的开源库
有的时候,一个项目组中有很多人,不需要每个人都参与编译。
一个人编译好所有开源库后到处给别人即可。
有的时候也是出于备份的目的,也会导出已经安装的开源库。
导出可以执行export指令。例如,我要导出jsoncpp库,那么执行:

.\vcpkg.exe export jsoncpp --7zip
注意,导出时必须指定导出的包格式。vcpkg支持5种导出包格式,有:

参数    格式
–raw    以不打包的目录格式导出
–nuget    以nuget包形式导出
–ifw    我也不知道这是啥格式
–zip    以zip压缩包形式导出
–7zip    以7z压缩包形式导出

7. Vcpkg和Visual Studio的集成
7.1. 什么是集成?
上面我们已经安装了一些第三方库,那如何使用呢?常规情况下,我们需要设置include目录、lib目录等,会有很多工作量。Vcpkg提供了一套机制,可以全自动的适配目录,而开发者不需要关心已安装的库的目录在哪里,也不需要设置。这是Vcpkg的一大优势。

7.2. 集成到全局【一般不会这样操作,不过也没关系,反正可以随时取消全局集成】
“集成到全局”适用于Visual Studio开发环境和msbuild命令行。执行命令:

.\vcpkg integrate install
当出现“Applied user-wide integration for this vcpkg root.”字样的时候,说明已经集成成功。这时候可以在任意的工程中使用安装好的第三方库。

7.3. 移除全局集成
移除全局集成只要执行下列命令即可:

.\vcpkg integrate remove
 
【 .\vcpkg integrate install 这样操作之后,所有的VS项目中,在外部包含目录下都会有计算值,就是会被添加路径
这时候打开VS就已经被设置好了全局集成
但大多数时候我们并不想这样,而是哪个项目需要就添加到哪个项目
这时候可以移除全局集成,但是要把VS关闭重新打开,才会生效】

7.4. 集成到工程
上面已经可以集成到全局,为什么还要“集成到工程”呢?因为在大部分情况下,我们不希望集成到全局,毕竟有很多第三方库我们希望自定义处理一下,或者干脆不想集成第三方库。那么集成到工程是最灵活的处理方式。也是工程级项目推荐的处理方式。

“集成到工程”是整个vcpkg中最复杂的一项,它需要利用Visual Studio 中的nuget插件来实现。我们接下来一步一步来说。

7.4.1. 生成配置

执行命令

.\vcpkg integrate project
这时候会在“<vcpkg_dir>\scripts”目录下,生成nuget配置文件.

其中<vcpkg_dir>是指vcpkg实际所在目录。

7.4.2. 基本配置

打开Visual Studio,点击菜单“工具->NuGet包管理器->程序包管理器设置”,进入设置界面,点击“程序包源”。
 
点击“加号”增加一个源。修改源的名字为vcpkg。在“源”的选项中点击右侧的"…"选择vcpkg目录下的“scripts\buildsystems”目录,然后点击右侧的“更新按钮”。

点击“确定”,关闭设置对话框。

到此,全局性的设置已经完成,以后不必再重复设置了。

7.4.3. 工程配置

用Visual Studio 打开一个工程或解决方案。右键点击需要设置的工程,选择“管理NuGet程序包”。在右上角的“程序包源”中选择刚刚设置的“vcpkg”。这样在“浏览”选项卡中就可以看到“vcpkg.H.Repos.vcpkg”。点击最右侧的“安装”。这样就可以集成到某个工程了。

主要参考:https://blog.csdn.net/whl0071/article/details/124347065

Win10+VS2019安装vcpkg相关推荐

  1. OpenMVS+Win10+VS2019+vcpkg编译及问题

    Win10 + VS2019 + OpenMVS1.1.1 + Vcpkg 1 VS2019安装 2 git安装 3 vcpkg安装 3.1下载vcpkg 3.2安装vcpkg 3.3 配置环境变量 ...

  2. 【SLAM】SLAM环境配置 Win10+VS2019+OpenCV+PCL+g2o+Vcpkg

    目录 SLAM环境配置 Win10+VS2019+OpenCV+PCL+g2o+vcpkg 软件及版本 1. Windows 10 2. Visual Studio 2019 3. OpenCV 4. ...

  3. win10+vs2019+FFTW64位安装配置保姆教程

    win10+vs2019+FFTW64位安装配置保姆教程 FFTW 是一个C语言的快速傅立叶变换库.(据说是世界上最快的FFT哦) vs2019下载与安装 参考链接:VS2019安装教程 FFTW下载 ...

  4. Win10+VS2019+OpenGL安装

    Win10+VS2019+OPENGL安装 VS2019下载与安装 Visual Studio显示行号 OpenGL安装 1.创建项目,并命名(此处我命名为main),指定存储位置 2.创建好之后如图 ...

  5. win10+cuda11.0+vs2019安装教程

    转自:https://www.jianshu.com/p/1fd15d2408bf?utm_campaign=hugo 第一步:检查显卡支持的cuda版本 1.第一种方法:win+R打开cmd,输入n ...

  6. 【opencv安装和配置完整版教程】(win10+vs2019+opencv4.4.0+opencv_contrib-4.4.0+永久配置)

    [opencv安装和配置](win10+vs2019+opencv4.4.0+opencv_contrib-4.4.0+永久配置) 下载vs2019 opencv4.4.0.opencv_contri ...

  7. win10+vs2019+pcl1.11.0安装教程

    看pointnet论文的时候发现有点云的可视化,但里面的可视化好像是基于CAD做的,正好最近我在用c++处理一些点云数据,就想着怎么直接把点云显示出来,就找到了PCL库,与opencv类似,openc ...

  8. 在win10+vs2019下对openmvg+openmvs的编译总结

    前言,相较于openmvs,openmvg的编译难度更低,所以大家可以先对openmvg进行编译. 针对openmvg的推荐视频:openmvg配置_哔哩哔哩_bilibili:推荐文章:OpenMV ...

  9. NVIDIA安装程序失败 ,win10 RTX3060安装CUDA11.7

    刚买了个RTX3060, 在win10上安装cuda安的是鼻涕一把泪一把,费劲,网上说的各种教程都试了一遍,不管用.贴出来自己的成功的做法. 1.安装VS2019 ,安装的时候把C++相关的都勾上. ...

最新文章

  1. Oracle Mutex 机制 说明
  2. Windows系统下的 vbs病毒生成器使用方法!
  3. SPC在SAP QM模块中的应用
  4. NovuMind 首秀 CES,展示业界最高性能的 AI 芯片
  5. docker strace ptrace 报错 Operation not permitted 解决方法
  6. Linux更新了源无法打开终端,在Deepin系统中检测不到升级的解决,需要切换系统源...
  7. 四种Sandcastle方法生成c#.net帮助类帮助文档
  8. 二维码会被人类扫完吗?
  9. 【Java面试题】计算一个数字的立方根,不使用库函数
  10. 二叉搜索树与双向链表
  11. jqMobi + Android 试手
  12. Project Reactor展开方法
  13. 2018.8.2 Juint测试介绍及其命名的规范
  14. Rust : CTP 中异步处理
  15. python机器学习-糖尿病数据挖掘
  16. android从子页面跳转回主页面注意
  17. 基于51的光立方制作
  18. 用python刷微信投票_微信投票知道 微信刷票能否python抓取微信投票_大师网络投票刷票网...
  19. flask序列化框架之marshmallow详解
  20. iOS直播短视频类APP上架4.3多次终上岸的惨痛经历

热门文章

  1. Bert-BiLSTM-CRF pytorch 代码解析-1:def _forward_alg(self, feats, mask=None)
  2. 这些人,我关注三年了...
  3. Mac 奇淫巧技 哈哈
  4. 【第14天】读书破万卷,开口如有神
  5. 抖音直播带货推流机制改了?怎么获取抖音直播间更多自然流量?
  6. Linux进程-守护进程
  7. 蓝桥杯 算法提高 和谐宿舍2 (Python3 实现)(动态规划)
  8. Angular项目启动步骤
  9. 汉文SEO大牛教你如何创建网站地图-seo必修课
  10. python字典格式 城市和行政编码映射表(无序)