VCPKG安装和使用教程

article/2025/10/5 3:53:24

文章目录

  • 1. 安装
  • 2. 使用
    • 命令
    • 选项
  • 3. 集成vcpkg
    • Windows 上的 Visual Studio 集成
    • Linux 或 macOS 上的 Visual Studio Code 集成
    • 删除 vcpkg 集成
  • 使用举例
    • 4. 详细介绍
      • 4.1 新增库
      • 4.2 删除库
      • 4.3 查看已经安装的列表
      • 4.4 更新已经安装的开源库

1. 安装

去GitHub上下载源码,然后点击安装脚本就可以了。

先决条件:

  • Windows 7 或更高版本
  • 用于 Windows 的 Git

安装过程:

  • vcpkg的GitHub主页在这里:https://github.com/microsoft/vcpkg

  • Visual Studio 2015 更新 3 或更高版本(带英文语言包)

  1. 在“命令提示符”窗口中,为 vcpkg 的克隆实例创建目录。 如果打算为不同的生成目标安装库,最好在目录名称中包含目标。 建议使用短路径名称(不含空格)(如 C:\src\win32\C:\dev\iot\),否则,某些端口生成系统可能会出现路径问题 。 在命令窗口中,切换到刚刚创建的目录。

  2. 从 GitHub 克隆 vcpkg 存储库:https://github.com/Microsoft/vcpkg。

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

    此命令在 vcpkg 子目录中创建存储库的本地副本。 此位置是此 vcpkg 克隆的 vcpkg 根目录。

  3. 下载完成后,在“命令提示符”窗口切换到 vcpkg 目录。

  4. 在 vcpkg 根目录下,运行 vcpkg 引导程序命令:

    bootstrap-vcpkg.bat

    引导程序将使用 Microsoft C/C++ 工具、库和 Windows SDK 的位置配置 vcpkg。

更新 vcpkg

vcpkg 包管理器在 GitHub 上定期更新。 若要将 vcpkg 的克隆更新到最新版本,请从 vcpkg 根目录运行 git pull。 此命令会将 vcpkg 的副本与 GitHub 上的版本同步。 下载完成后,再次运行引导程序。 引导程序会重新生成 vcpkg 程序,但保留已安装的库。
卸载 vcpkg

若要卸载 vcpkg,只需删除 vcpkg 目录。 删除此目录会卸载 vcpkg 分发以及 vcpkg 已安装的所有库。

但是,如果已执行 vcpkg integrate install,则应执行 vcpkg integrate remove 来确保在删除文件夹之前已清理集成 。

2. 使用

命令

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%

3. 集成vcpkg

Windows 上的 Visual Studio 集成

从 vcpkg 根目录,运行 vcpkg integrate install来配置 Visual Studio,以便按用户找到所有 vcpkg 头文件和二进制文件。 无需在 Visual Studio 中编辑 VC + + 目录路径。 如果有多个 vcpkg 克隆,则你从中运行此命令的克隆将成为新的默认位置。
现在,只需键入文件夹/标头名称即可轻松加入标头,并且自动完成功能将帮助你完成这一切。 无需执行任何额外的步骤即可链接到库或添加项目引用。 下图演示了 Visual Studio 查找 azure-storage-cpp 标头的方法。 Vcpkg 将其标头置于 /installed 子文件夹中,由目标平台予以分区。 下图显示库的 /was 子文件夹中包含文件的列表:
在这里插入图片描述

Linux 或 macOS 上的 Visual Studio Code 集成

在 shell 或“终端”窗口中,将目录更改为 vcpkg 根目录。 然后运行./vcpkg integrate install,在 Linux 或 macOS 上配置 Visual Studio Code。 此命令将设置 vcpkg 工具和库的位置,并对源文件启用 IntelliSense。

删除 vcpkg 集成

如果已使用 integrate 选项,则应在删除 vcpkg 实例之前删除该集成。 若要删除和清理该集成,请将目录更改为 vcpkg 根目录。

  • 在 Windows 上,运行vcpkg integrate remove,确保清除该集成。
  • 在 Linux 或 macOS 上,运行./vcpkg integrate remove 命令。

使用举例

我现在的场景是我需要 libpng 来进行开发,输入命令:vcpkg install libpng来安装,可以看到他在开始自动下载。

注意我们可以使用.\vcpkg help triplet来看库支持的模式。

在这里插入图片描述

4. 详细介绍

4.1 新增库

使用指令:vcpkg help triplet可以看到都支持什么平台。
下载某一个平台的包:.\vcpkg.exe install jsoncpp:x64-windows

(base) PS C:\Users\cds> vcpkg help triplet
Available architecture triplets
VCPKG built-in triplets:arm-uwparm64-windowsx64-linuxx64-osxx64-uwpx64-windows-staticx64-windowsx86-windowsVCPKG community triplets:arm-iosarm-linuxarm-mingw-dynamicarm-mingw-staticarm-windowsarm64-iosarm64-linuxarm64-mingw-dynamicarm64-mingw-staticarm64-osxarm64-uwparm64-windows-static-mdarm64-windows-staticppc64le-linuxs390x-linuxwasm32-emscriptenx64-iosx64-mingw-dynamicx64-mingw-staticx64-openbsdx64-osx-dynamicx64-windows-static-mdx86-freebsdx86-iosx86-mingw-dynamicx86-mingw-staticx86-uwpx86-windows-static-mdx86-windows-staticx86-windows-v120

4.2 删除库

.\vcpkg.exe remove jsoncpp

注意:

这个时候只是移除了默认的x86-winodws版本的文件,如果有其他平台的版本需要移除,需要制定相应的triplet。
移除也只是移除了二进制程序库而已,源码包和解压缩的源码并没有删除。

4.3 查看已经安装的列表

.\vcpkg.exe list

4.4 更新已经安装的开源库

一般有两种更新方式。一个是update指令,可以显示可以升级的开源库的列表。另一个是upgrade的指令,会重新编译所有需要更新的包。


http://chatgpt.dhexx.cn/article/mRbhu7Sq.shtml

相关文章

vcpkg快速入门手册

文章目录 1. 简介2. 安装与使用2.1 获取vcpkg2.2 编译vcpkg2.3 vcpkg的文件夹层次结构2.4 设置vcpkg的环境变量2.5 vcpkg的常用命令2.6 安装包与Visual Studio集成 3. 常见的C库的CMake配置方式3.1 Boost3.2 cereal3.3 Ceres Solver3.4 CGAL3.5 FLANN3.6 GDAL3.7 GLEW3.8 GMP3.…

vcpkg安装和使用--学习入门

前言 vcpkg是一个C的包管理器。 包管理器是专门管理一些代码库的。比如一些大佬们开源的一些NB的框架&#xff0c;我们可以用vcpkg将他们放到自己的项目中。然后就可以直接用了。 我用的win10vs2019 【1】安装 &#xff08;1&#xff09;先git clone下载下来vcpkg文件夹。 …

Vcpkg 的安装与使用

Vcpkg 的安装与使用 欢迎大家来我的博客逛逛&#x1f44f;&#xff1a;hauhau.cn 需求 先确保你已经安装了: Windows7 及以上的版本GitVisual Studio 2015 Update 3 及以上的版本 关于美化 Windows Terminal 及 Powershell&#xff0c;可以查看这篇优秀文章: Windows-Termi…

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

目录 一、vcpkg介绍二、vcpkg安装1、安装vs英语语言包2、更新PowerShell版本3、配置终端4、clone vcpkg 三、vcpkg具体使用1、演示安装jsoncpp库2、指定位数安装3、查找支持的系统架构4、查看已经安装了哪些库5、如何卸载vcpkg 四、如何集成到visual studio1、集成到Visual Stu…

NS版暗黑破坏神3金手指开发教程(12)

上一节&#xff0c;我们了解到了宝石升级动画延时机制的修改&#xff0c;这一节&#xff0c;我们将全方位地介绍游戏中多个常用功能的延时机制修改&#xff0c;优化玩家的游戏体验&#xff0c;相信经过本节&#xff0c;读者的程序分析能力会有进一步提高 1. 我们首先从鉴定传奇…

NS版暗黑破坏神3金手指开发教程(2)

上一节&#xff0c;介绍了开发金手指所需的工具&#xff0c;这一节&#xff0c;正式开始简单的金手指修改 1. 首先&#xff0c;分别要准备好2.6.6的main.elf和原始版本待调试信息的DiabloIIINX64ra.elf&#xff0c;因为我们要修改的是2.6.6版本的elf&#xff0c;和最初带调试信…

NS版暗黑破坏神3金手指开发教程(7)

上一节&#xff0c;我们讲解了通过代码Hack的方式修改人物的魔法物品获取率和金币获取量等属性&#xff0c;这一节&#xff0c;我们将一鼓作气&#xff0c;拿下移速攻速等更复杂的属性修改 1. 我们在原始版本里搜索移速英文movespeed得到一个结果&#xff0c;双击打开伪代码 2…

Unity 基础常用的脚本(一)

1.获取相机射线 var ray Camera.main.ScreenPointToRay(Input.mousePosition); //GameObject.CreatePrimitive(PrimitiveType.Cube).transform.position ray.GetPoint(10.0f); transform.LookAt(ray.GetPoint(10.0f)); 2.AddForce和velocity有什么区别&#xff1f; AddForc…

NS版暗黑破坏神3金手指开发教程(10)

上一节&#xff0c;我们讲解了一击必杀&#xff0c;技能冷却无CD等人物战斗时用到的金手指制作&#xff0c;这一节&#xff0c;将会讲解人物升级相关的功能以及宝石和打孔器等材料数量的锁定功能制作 1. 在游戏中特别是在游戏后期&#xff0c;我们会发现人物随着等级的提高&am…

Unity脚本复习

1.在Project面板中显示和创建的每一个脚本其实都是一个类&#xff0c;当我们把脚本挂载到Hierarchy层级中的游戏物体时&#xff0c;其实我们就实现了将脚本类实例化为一个脚本组件&#xff08;对象&#xff09;的过程 2.在游戏运行时&#xff0c;场景加载&#xff0c;游戏对象…

零基础游戏开发笔记11——Unity脚本介绍、脚本初始阶段

1.语法结构&#xff1a; 2.编译过程&#xff1a; CLS->Mono RunTime->机器码 3.关于修改和创建脚本&#xff1a; 创建脚本&#xff1a; 一般我们会在项目中添加scripts文件夹&#xff0c;并在此文件夹中编写脚本&#xff0c;当然这些脚本可以根据个人喜好分配到不同类…

NS版暗黑破坏神3金手指开发教程(4)

上一节&#xff0c;我们讲了基于公式明文的金手指制作方法&#xff0c;这一节&#xff0c;我们将进阶到更高级的基于程序修改的金手指制作方法&#xff0c;从现在开始&#xff0c;对读者的技术水平有了一个更高的要求&#xff0c;读者最好有汇编和C/C高级语言的一些基础&#x…

NS版暗黑破坏神3金手指开发教程(17)

终于到最后一节了&#xff0c;在这一节中我们将讲解如何利用hack制作出丰富多彩的世界&#xff0c;开个玩笑&#xff0c;其实是因为由于暗黑三的AMIIBO功能很有意思&#xff0c;不但可以用普通手办在城外召唤出一组精英怪&#xff0c;而且在城内用专用哥布林手办还能开启宝藏秘…

NS版暗黑破坏神3金手指开发教程(5)

上一节&#xff0c;我们学会了通过修改程序指令的方式制作金手指&#xff0c;这一节&#xff0c;将引出真正的高手级金手指开发方法 除了必掉太古这个极其护肝和有用的金手指外&#xff0c;我们能想到的另一个金手指就是人物背包里的素材&#xff0c;包括金钱&#xff0c;宝石…

暗黑破坏神2 符文自动合成--按键精灵源码

最近玩了一个暗黑破坏神mod服 发现2个符文可以合成一个大号符文.不过手动合成实在太费劲了.于是乎我就写了一个自动合成的脚本. 需要用到图灵插件,不知道的自己百度一下. 还是挺有意思的这类脚本.还需要有一个自己的算法. 源码如下. Function 移动鼠标点左键(x1, y1)MoveT…

Unity脚本(二)

视频教程&#xff1a;https://www.bilibili.com/video/BV12s411g7gU?p122 目录 Transform GameObject Object GetComponentInParent LookAt GetSiblingIndex、SetSiblingIndex Instantiate Transform 对象的位置、旋转和缩放 场景中的每个对象都有一个Transform&…

Unity 剧情类游戏基础脚本

本文主要用于给新人提供实现剧情类游戏的基本思路。 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; 然后是一个很重要的 [System.Serializable] 它的作用是使得在检查器窗口来看到我i们自己创建的类从而实现在检…

Unity脚本(三)

视频教程&#xff1a;https://www.bilibili.com/video/BV12s411g7gU?p128 目录 Time Prefab Animation Time Time.time&#xff1a;自应用程序启动以来&#xff0c;每帧的开始时间&#xff08;只读&#xff09; Time.deltaTime&#xff1a;每帧间隔&#xff0c;或说完…

NS版暗黑破坏神3金手指开发教程(1)

最近重温了NS版的暗黑三&#xff0c;因为空闲时间实在有限&#xff0c;面对这样一款刷刷刷的经典作品&#xff0c;为了护肝以及更爽快的游玩&#xff0c;同时为了弥补自己丢失已久的汇编技能&#xff0c;加上NS版暗黑三最初版本里有带完整调试信息的elf文件&#xff0c;于是有了…

NS版暗黑破坏神3金手指开发教程(3)

上一节&#xff0c;我们初步介绍了修改人物力量的方法&#xff0c;也大致说了一下hexworkshop和IDA的简单操作&#xff0c;这一节&#xff0c;我们将进阶到复杂度高一些的人物全属性修改&#xff0c;搜索方法基本跟上一节的力量公式一样&#xff0c;需要一定的耐心和细心&#…