C++第三方库管理工具vcpkg使用教程


一、vcpkg介绍

  在使用C/C++编写项目时, 引用第三方库是很麻烦的事, 需要手动下载源码然后编译最后再添加到项目里,配置头文件、lib、dll,如果是一个简单点的库,编译加配置起来也不麻烦,可能半个小时或一个上午就能解决;如果是一个复杂点的库,那可能是一天、乃至一周可能都无法编译成功,例如ffmpeg, openssl,gRPC等等,这些库在windows上的的编译极其麻烦,如果是新手,可能更痛苦。相比 java有maven,python有pip,go有go mod, C#有NuGet,Rust有cargo,这些语言在导入第三方库时都很方便,修改版本也方便,但是对于C++项目则很痛苦,vcpkg的出现解决了C/C++编译第三库困难的问题,vcpkg跨平台, 在windows、linux、MacOS都可以使用。安装vcpkg,想要使用哪个库,vcpkg只要一条命令, 直接用安装编译,无需配置头文件、lib、dll, 直接写代码即可,十分的方便。
  官网:https://vcpkg.io/en/index.html
在这里插入图片描述
  点击Get started可以查看如何安装vcpkg
  点击Browse Packages可以查找想要的库

  下面介绍在window系统如何安装使用vcpkg.

二、vcpkg安装

1、安装vs英语语言包

  vcpkg安装第三方库时,会有visual studio的语言不是英语的错误,如果不安装英语语言包,使用vcpkg安装第三方库时会有如下报错

Error: in triplet x64-windows: Unable to find a valid Visual Studio
instance The following VS instances were excluded because the English
language pack is unavailable:

  例如我的电脑安装的是vs2019,需要修改安装,增加英语语言包
在这里插入图片描述
  设置vs语言
在这里插入图片描述

2、更新PowerShell版本

  使用vcpkg时,PowerShell版本需要比较新,建议安装ps7以上的版本。右键【windows开始】打开Windows PowerShell, 输入 $PSVersionTable可以查看版本,如下图:
在这里插入图片描述

  我现在的版本是5.1,在使用vcpkg时,提示需要使用7.2版本。
  powershell release下载路径 https://github.com/PowerShell/PowerShell/releases 找到7.2下载
在这里插入图片描述

  安装结束后,powershell7会自动添加到系统path

在这里插入图片描述

  现在的版本

在这里插入图片描述

3、配置终端

  终端配置文件可以选择刚刚安装的PowerShell, 以后右键打开时就是7.2版本了。

4、clone vcpkg

  打开git bash,开始clone vcpkg, 命令:

git clone https://github.com/Microsoft/vcpkg.git

  如果网络不好,可能无法clone, 需要有合理良好的网络环境。vcpkag clone ok后,cd到vcpkg目录,执行脚本bootstrap-vcpkg.bat下载vcpkg.exe,如下图:
在这里插入图片描述

  执行结束之后在当前目录就可以看到vcpkg.exe, 如下图:

在这里插入图片描述

三、vcpkg具体使用

1、演示安装jsoncpp库

  将vcpkg.exe目录添加到系统path, 以后在任意目录都可以执行vcpkg.exe命令了,但是安装的文件依然是在vcpkg目录,安装第三方库的命令:

vcpkg install [name]

  比如安装jsoncpp库,输入以下命令进行安装

.\vcpkg install jsoncpp

  默认安装的是32位的,如下图

在这里插入图片描述

  首次安装时会比较慢,耐心等待。
  库的安装位置
在这里插入图片描述

2、指定位数安装

  指定版本安装前,先查找是否存在对应的版本,命令

.\vcpkg search 库的名字

  例如查找asdf库是否存在

在这里插入图片描述
  asdf这个库显然是没有的,下面看看ffmpeg是否有

在这里插入图片描述

  当然去官网也可以查看,在官网可以明确的知道支持哪些版本
在这里插入图片描述

  如果需要指定版本安装,比如安装64位jsoncpp的,命令如下:

./vcpkg install jsoncpp:x64-windows

  如下图

在这里插入图片描述

3、查找支持的系统架构

  如何查看版本位数呢,输入如下命令:

./vcpkg help triplet

  如下图
在这里插入图片描述

4、查看已经安装了哪些库

  命令

./vcpkg list

  输入 ./vcpkg list,如下图
在这里插入图片描述

5、如何卸载vcpkg

  直接删除目录即可

四、如何集成到visual studio

下面介绍如何把vcpkg集成到visual studio。

1、集成到Visual Studio全局

  集成到Visual Studio全局,此种情况所有项目都可以使用vcpkg的库,命令如下:

 .\vcpkg integrate install

注意:部分库在vs里使用可能有问题,例如没有debug版本,导致编译链接失败,此时需要自己下载源码编译,再添加到项目中。

2、移除全局集成

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

 .\vcpkg integrate remove

3、集成到工程

 .\vcpkg integrate project

五、集成到CMake

  现在的Visual Studio已经支持CMake了,在cmake中集成只要在cmake文件中加入下面这句话即可。

-DCMAKE_TOOLCHAIN_FILE=<vcpkg_dir>/scripts/buildsystems/vcpkg.cmake"

六、如何使用vcpkg下载好的库

  建议还是copy到项目目录,去vcpkg的packages目录找到各个库的include, lib, dll, 注意lib目录默认是release版,debug的lib dll需要去debug目录拷贝.

  mac、linux也可以使用,按照官网的指引进行安装即可。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

令狐掌门

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值