【2】vcpkg使用_1vcpkg的命令功能使用
来源:http://www.tudoupe.com时间:2022-03-02
文章目录
- 简介
- 目标
- 阅读基础
- 快速阅读
- 环境说明
- 软件使用准备
- 打开powershell
- 进入vcpkg目录
- 软件功能使用
- 查看Vcpkg支持的开源库列表
- 查看Vcpkg支持的架构和编译器
- 安装一个开源库
- 移除一个已经安装(编译)的开源库
- 列出已经安装的开源库
- 更新已经安装的开源库
- 导出已经安装的开源库
- 导入备份的开源库
- 获取帮助
- 软件命令
- 命令
- 选项
- 常见问题
- VS缺少英文语言包
- 错误现象
- 解决方案
- 缺少必要软件
- 错误现象
- 解决方案
- 资源下载不成功
- 错误现象
- 解决方案
- 总结
- 其它
- 参考资料
- 相关资源下载
- 最近更新
- 小有收获
- 欢迎关注微信公众号
简介
目标
vcpkg中的命令功能使用介绍。
阅读基础
熟悉计算机。
快速阅读
了解的部分跳过。
环境说明
Windows 7或更新的版本GitVisual Studio 2015 Update 3或更新的版本(包含英文语言包)
软件使用准备
打开powershell
windows10下点击左下角的图标–》找到Cortana(小娜)–》点击。如下图:

在搜索框中输入powershell搜索工具–》点击Windows PowerShell。如下图:

powershell打开成功。如下图:

进入vcpkg目录
输入命令进入vcpkg目录(我的是E:srcvcpkg)。命令如下:
执行情况如下图:

注意:如果是手动下载的源码包,进入的是解压后的文件夹。
软件功能使用
查看Vcpkg支持的开源库列表
查看Vcpkg支持的开源库列表,基本上常用的C++开源库都支持。命令如下:
执行命令后,

查看Vcpkg支持的架构和编译器
如果不指定安装的架构,vcpkg默认把开源库编译成x86的Windows版本的库。那vcpkg总共支持多少种架构呢?多少种编译器呢?我们可以使用如下命令便知:
命令执行情况如下图:
这个清单以后随着版本的迭代还会再增加。vcpkg不仅支持x86架构,还支持arm架构。注意:这里的arm架构特指类似于surface这种运行在arm处理器上的Win10平台,而并非我们传统意义上的Linux或android的ARM平台。
安装一个开源库
那如果要安装编译某一个架构的开源库,我们该怎么写呢?我们只需要在需要安装的包后面指定相应的triplet即可。例如我们需要编译64位Windows版本的jsoncpp,那么执行如下命令即可。
执行情况如下图:

看到Elapsed time for package jsoncpp:x64-windows: 17.31 s,则说明安装成功。
我们大致可以了解到install会经历这几个过程:
- 环境初始化
- 下载源代码(如果已经在
cache中,则不下载) - 校验文件有效性
- 解压缩源代码
- 利用配套工具配置源码工程,在这里是使用的是
cmake(如果是ffmpeg,则用msys2) - 编译源码。一般会同时编译
Release和Debug版本。 - 把编译好的文件拷贝到相关目录中去(一般是
installed目录)
注意点:
如果电脑中没有安装cmake,vcpkg会自动下载portable版本的cmake。但是由于各种原因,下载的网速很慢,所以建议先自行下载安装msi版本的cmake。最好是下载最新版本的cmake。参考常见问题。
移除一个已经安装(编译)的开源库
如果移除一个已经安装的开源库,那么执行remove指令即可。比如我们要移除jsoncpp,那么执行命令:
执行情况如下图:

注意:
这个时候只是移除了默认的x86-winodws版本的二进制文件,源码包和解压缩的源码并没有删除。如果有其他平台的版本需要移除,需要制定相应的triplet。
如果想要一键移除“过时”的包,执行命令:
列出已经安装的开源库
执行list指令即可,例如:
执行情况如下图:

假如前面安装了jsoncpp,会输出:jsoncpp:x64-windows 1.9.4 jsoncpp is an implementation of a JSON reader an...
更新已经安装的开源库
一般有两种更新方式。
- 一个是
update指令,可以显示可以升级的开源库的列表。 - 另一个是
upgrade的指令,会重新编译所有需要更新的包。
导出已经安装的开源库
有的时候,一个项目组中有很多人,不需要每个人都参与编译。一个人编译好所有开源库后到处给别人即可。有的时候也是出于备份的目的,也会导出已经安装的开源库。导出可以执行 export 指令。一般地,导出包的格式为:vcpkg-export-<日期>-<时间>
例如,我要导出jsoncpp库,那么执行:
执行情况如下图:

注意,导出时必须指定导出的包格式。vcpkg支持5种导出包格式,有:
| 参数 | 格式 |
|---|---|
| –raw | 以不打包的目录格式导出 |
| –nuget | 以 nuget 包形式导出 |
| –ifw | 我也不知道这是啥格式 |
| –zip | 以 zip 压缩包形式导出 |
| –7zip | 以 7z 压缩包形式导出 |
默认情况下只会导出x86-windows的包,如果要导出所有包,那需要制定相应的triplet。比如,如果同时导出x86和x64版本的jsoncpp,那执行命令:
如果要指定输出目录和特定文件名,需使用–output=参数。
导入备份的开源库
导入比较简单,执行import指令即可。例如:
获取帮助
软件命令
命令
| Command | 描述 |
|---|---|
vcpkg search [pat] |
搜索可安装的包 |
vcpkg install <pkg>... |
安装包 |
vcpkg remove <pkg>... |
卸载包 |
vcpkg remove --outdated |
卸载所有过期包 |
vcpkg list |
列出已安装的包 |
vcpkg update |
显示用于更新的包列表 |
vcpkg upgrade |
重新生成所有过期包 |
vcpkg hash <file> [alg] |
通过特定算法对文件执行哈希操作,默认为 SHA512 |
vcpkg integrate install |
使已安装包在用户范围内可用。 首次使用时需要管理权限 |
vcpkg integrate remove |
删除用户范围的集成 |
vcpkg integrate project |
为使用单个 VS 项目生成引用 NuGet 包 |
vcpkg export <pkg>... [opt]... |
导出包 |
vcpkg edit <pkg> |
打开端口进行编辑(使用 %EDITOR%,默认为“code”) |
vcpkg create <pkg> <url> [archivename] |
创建新程序包 |
vcpkg cache |
列出缓存的已编译包 |
vcpkg version |
显示版本信息 |
vcpkg contact --survey |
显示联系信息,以便发送反馈。 |
选项
| 选项 | 描述 |
|---|---|
--triplet <t> |
指定目标体系结构三元组。 (默认:%VCPKG_DEFAULT_TRIPLET%,另请参阅 vcpkg help triplet) |
--vcpkg-root <path> |
指定 vcpkg 根目录(默认:%VCPKG_ROOT%) |
常见问题
VS缺少英文语言包
错误现象
powershell运行命令报错:
解决方案
windows10下点击左下角的图标–》找到Cortana(小娜)–》点击。如下图:

在搜索框中输入Visual Studio Installer搜索工具–》点击Visual Studio Installer。如下图:

点击修改,如下图:

点语言包–》勾选英语–》点击修改。如下图:

下载安装完成–》点击启动。如下图:

缺少必要软件
错误现象
如果电脑中没有安装CMake、7zip等软件,Vcpkg会自动下载portable版本的CMake、7zip等软件。如下图:

安装时软件时自动下载的必要软件。如下图:

一般会安装如下软件:
解决方案
建议先自行下载对应软件,最好是下载最新版本的。
资源下载不成功
错误现象
由于各种原因,下载的网速很慢,甚至下载不成功。比如:
解决方案
复制下载链接,比如:
使用浏览器或其他软件下载文件。
下载完成后拷贝文件到安装目录的
downloads文件夹下,我的是e:srcvcpkgdownloads修改文件名称为命令行的名称,如:为
open-source-parsers-jsoncpp-9059f5cad030ba11d37818847443a53918c327b1.tar.gz。再次执行安装指令,就会跳过下载这步直接开始解压 PowerShell 压缩包。
总结
介绍了vcpkg中的命令功能使用。
其它
参考资料
无
相关资源下载
无
最近更新
查看本文最近更新请点击
小有收获
有收获记得三连哦:?

欢迎关注微信公众号

相关新闻
- 2023-04-16 2台电脑怎么共享(2台电脑怎么共享
- 2023-04-16 主板检测卡代码(电脑主板检测卡代
- 2023-04-16 dnf未响应(dnf未响应老是上不去)
- 2023-04-16 ppoe(pppoe拨号上网)
- 2023-04-16 网速不稳定(网速不稳定是路由器的
- 2023-04-16 wds状态(Wds状态成功)
- 2023-04-16 光标键(光标键不动了怎么办)
- 2023-04-16 电脑提速(电脑提速100倍的方法)
- 2023-04-16 切换用户(切换用户怎么切换回来
- 2023-04-16 数据包是什么(产品数据包是什么
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

