问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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

创作时间:
作者:
@小白创作中心

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

引用
CSDN
1.
https://blog.csdn.net/yao_hou/article/details/124705995

vcpkg是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也可以使用,按照官网的指引进行安装即可。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号