C++第三方库管理工具vcpkg使用教程
目录
- vcpkg介绍
- vcpkg安装
- 1、安装vs英语语言包
- 2、更新PowerShell版本
- 3、配置终端
- 4、clone vcpkg
- vcpkg具体使用
- 演示安装jsoncpp库
- 指定位数安装
- 查找支持的系统架构
- 查看已经安装了哪些库
- 如何卸载vcpkg
- 如何使用vcpkg下载好的库
vcpkg介绍
vcpkg是c++第三方库管理工具,类似于java maven,C# Nuget,支持windows、macos、linux。vcpkg可以帮C++程序员快速的获取编译第三方库,一般C++第三方库需要手动编译,配置各种环境,例如OpenSSL,很多人基本编译不了;FFmpeg的Windows版,更是无法编译。有了vcpkg, 只要一条命令就可以获取到这些库,很方便。
官网:https://vcpkg.io/en/index.html
点击Get started可以查看如何安装vcpkg
点击Browse Packages可以查找想要的库
下面介绍如何安装使用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需要使用PS7以上的版本,另外PowerShell版本需要比较新的,或者在vcpkg安装第三方库时自动安装,如果网速不好,可能会安装失败,可以先下载离线包安装。
右键【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具体使用
演示安装jsoncpp库
将vcpkg.exe目录添加到系统path, 以后在任意目录都可以执行vcpkg.exe命令了,但是安装的文件依然是在vcpkg目录,安装第三方库的命令:
vcpkg install [name]
比如安装jsoncpp库,输入以下命令进行安装
.\vcpkg install jsoncpp
默认安装的是32位的,如下图
首次安装时会比较慢,耐心等待。
库的安装位置
默认vcpkg是使用的全局安装,则会根据以下位置进行引用,vs2019会自动识别出来,不需要在"属性–包含目录"里设置路径。
指定位数安装
指定版本安装前,先查找是否存在对应的版本,命令
.\vcpkg search 库的名字
例如查找asdf库是否存在
asdf这个库显然是没有的,下面看看ffmpeg是否有
当然去官网也可以查看,在官网可以明确的知道支持哪些版本
如果需要指定版本安装,比如安装64位jsoncpp的,命令如下:
./vcpkg install jsoncpp:x64-windows
如下图
查找支持的系统架构
如何查看版本位数呢,输入如下命令:
./vcpkg help triplet
如下图
查看已经安装了哪些库
命令
./vcpkg list
输入 ./vcpkg list,如下图
如何卸载vcpkg
直接删除目录即可
如何使用vcpkg下载好的库
建议还是copy到项目目录,去vcpkg的packages目录找到各个库的include, lib, dll, 注意lib目录默认是release版,debug的lib dll需要去debug目录拷贝.
mac、linux也可以使用,按照官网的指引进行安装即可。
C++第三方库管理工具vcpkg使用教程相关推荐
- PP-ShiTu 库管理工具使用教程
一.前言 PP-ShiTu 库管理工具,此工具是为了用户能够可视化的管理图像及对应的index库,用户可根据实际情况,灵活的增删改查相应的gallery图像库及索引文件,在提升用户体验的同时,辅助PP ...
- 第三方远程控制工具TeamViewer的安装和使用教程,可下载window版和linux版,windows使用虚拟机可以与linux之间通讯
teamviewer远程工具怎么使用呢?相信这是很多小白用户不知道怎么使用,为了更好的帮助到大家使用上teamviewer远程工具,今天小编将分享给大家teamviewer远程工具的使用教程,希望可以 ...
- 工程实践:Windows包管理工具——VCPKG
工程实践:Windows包管理工具--VCPKG 前言 Windows C++开发使用第三方库 使用第三方库存在的问题 vcpkg的优点 如何使用VCPKG 总结 前言 作为推荐大家使用vcpkg来进 ...
- python人工智能方向第三方库_Python进阶-第三方库管理和虚拟环境
本文为<爬着学Python>系列第十三篇文章. Python能在这几年火起来,靠的不是网上一大片的爬虫和服务器后端知识的应用(本专题就是这样的,这么说真的好吗?不过我们总得认清事实是吧.) ...
- phpmyadmin mysql管理器_phpMyAdmin(MySQL的资料库管理工具)
phpMyAdmin简介 phpMyAdmin是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的资料库管理工具.phpMyAdmin 可以管理整个MySQL服务器(需要超级用户 ...
- 全网最全的知识库管理工具综合评测和推荐:FlowUs、Baklib、简道云
全网最全.最佳的知识库管理工具综合评测和推荐:FlowUs.Baklib.简道云.ONES Wiki .PingCode.Seed.MeBox.亿方云.智米云.搜阅云.天翎 知识库的发展路径 知识库主 ...
- 新魔百盒M304A_增强版2+16G_S905系列_第三方线刷固件及教程
新魔百盒M304A_增强版2+16G_S905系列_第三方线刷固件及教程 特点: 1.适用于对应型号的电视盒子刷机: 2.开放原厂固件屏蔽的市场安装和u盘安装apk: 3.修改dns,三网通用: 4. ...
- Oracle数据库:oracle启动,oracle客户端工具plsql安装教程和使用方法
Oracle数据库:oracle启动,oracle客户端工具plsql安装教程和使用方法 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的 ...
- Python for虚幻引擎编辑器工具脚本学习教程
Python for Unreal Engine Editor Tools Scripting MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英 ...
- truffle (ETH以太坊智能合约集成开发工具) 入门教程
truffle (ETH以太坊智能合约集成开发工具) 入门教程 前言 在你了解区块链开发之前,你有必要了解区块链的一些基础知识,什么是DApp,DApp与传统app的区别, 什么是以太坊,以太坊中的智 ...
最新文章
- Go-err is shadowed during return
- 温州大学《深度学习》课程课件(一)
- java 数据结构经典算法
- [置顶] ibatis做分页
- 面试必问之JVM原理
- 四川高中计算机考试操作题,四川省学业水平考试VB程序设计操作题演示
- 路灯干扰者视频2021-08-10
- 微pe添加网络组件_Nature子刊 | 微塑料影响微生物群落和氮循环
- 存储桶列表访问权限_如何设置 ACL 存储桶权限? - Amazon Simple Storage Service
- 计算机网络 CDN技术介绍
- EXCEL工作表保护密码忘记,撤销保护攻略
- win10系统驱动备份及还原-命令行操作
- 小程序下载图片、文件、wx.downloadFile,废话少说直接上代码
- 2021阿里云服务器购买攻略-618年中大促专场
- 微信公众平台消息接口使用指南
- 任正非讲话稿400篇_2021国家公务员考试笔试考情分析【申论篇】
- 驱动开发思路以及应用程序与驱动程序的区别
- Hadoop、Pig、Hive、Storm、NOSQL 学习资源收集【Updating】
- C++应用之HAL层文件逻辑
- canvas写的地铁地图