Vcpkg 的安装与使用

article/2025/10/5 4:04:05

Vcpkg 的安装与使用

欢迎大家来我的博客逛逛👏:hauhau.cn

vs install

需求

先确保你已经安装了:

  • Windows7 及以上的版本
  • Git
  • Visual Studio 2015 Update 3 及以上的版本

关于美化 Windows Terminal 及 Powershell,可以查看这篇优秀文章: Windows-Terminal 美化以及通过 OhMyPosh 美化 PowerShell

为 Visual Studio 安装英文语言包

vcpkg 需要 Visual Studio 安装了英文语言包,安装步骤如下:

  • 打开 Visual Studio Installer,然后点击修改

vi

  • 然后点击语言包,勾选英语并确认修改,等待安装完成即可

english

安装 Vcpkg

先克隆 vcpkg,目录任意位置都可,我克隆到 D:\Library 下,这样做包管理会很方便

clone vcpkg

然后进入到 vcpkg 目录,执行安装脚本 bootstrap-vcpkg.bat

  • cd vcpkg

  • .\bootstrap-vcpkg.bat

或者直接执行:.\vcpkg\bootstrap-vcpkg.bat

bat

安装包

在 vcpkg 目录下,执行 .\vcpkg.exe search 包名称 可以搜索你需要安装的包的信息

下面以搜索 openssl 为例:.\vcpkg.exe search openssl

search openssl

确认有你需要安装的包之后,通过 .\vcpkg.exe install 包名称 即可安装包

下面还是以安装 openssl 为例:.\vcpkg.exe install openssl,第一次安装 vcpkg 会先安装 cmake、git 等依赖,同时安装包还需要编译,需要耐心等待

install openssl

指定安装架构

vcpkg 默认安装的是 x86-windwows 架构的包,当我们需要指定安装 x64 或者是静态库的时候,需要在包名后面跟上具体安装方式。以安装 libevent 为例:使用.\vcpkg.exe install libevent:x64-windows libevent:x64-windows-static,安装的是 x64 版本的 libevent 和 x64 版本的 libevent 静态库

通过 .\vcpkg.exe help triplets 可以查看支持的安装方式

arch

查看已安装的包

使用.\vcpkg.exe list 可以列举已经安装的包

libevent、openssl、opencv、protobuf、grpc、jsoncpp、nlohmann-json 都是比较一些比较常用的包,有需要的可以安装

list

集成 Visual Studio

要在 Visual Studio 中使用 Vcpkg,需要输入:.\vcpkg.exe integrate install (首次执行需要在管理员权限下执行,就是使用管理员权限打开 powershell)

vs install

CMake 项目中使用 vcpkg

cmake 项目建议通过以下方式使用 vcpkg (不要全局导入 vcpkg,别人不知道你在做什么)

通过指定 cmake 工具链实现将 vcpkg 作为一个自模块加入到你的 CMake 工程中,需要注意的是,使用 Mingw 需要额外的设置。下面是 CMakeList 的模版,添加到你的工程就可以使用了。

if (CMAKE_SYSTEM_NAME MATCHES "Windows")# setting vcpkg toolchain fileset(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmakeCACHE STRING "Vcpkg toolchain file")if (MINGW)  # if mingw# setting vcpkgif (DEFINED ENV{VCPKG_DEFAULT_TRIPLET} AND NOT DEFINED VCPKG_TARGET_TRIPLET)set(VCPKG_TARGET_TRIPLET "$ENV{VCPKG_DEFAULT_TRIPLET}" CACHE STRING "")endif ()endif ()
endif ()

自动补全

.\vcpkg integrate powershell 即可开启 tab 补全

Tab


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

相关文章

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)

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

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

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

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

上一节,我们讲解了通过代码Hack的方式修改人物的魔法物品获取率和金币获取量等属性,这一节,我们将一鼓作气,拿下移速攻速等更复杂的属性修改 1. 我们在原始版本里搜索移速英文movespeed得到一个结果,双击打开伪代码 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有什么区别? AddForc…

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

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

Unity脚本复习

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

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

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

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

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

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

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

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

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

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

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

Unity脚本(二)

视频教程: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脚本(三)

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

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

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

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

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

Unity入门3——脚本基础

一、生命周期函数 ​ 所有继承 MonoBehavior 的脚本,最终都会挂载到 GameObject 游戏对象上 ​ 生命周期函数就是该脚本对象依附的 GameObject 对象从出生到消亡整个生命周期中 ​ 会通过反射自动调用的一些特殊函数 ​ Unity 帮助我们记录了一个 GameObject 对象依…

4.实现csdn暗黑模式-油猴脚本实战1

4.实现csdn暗黑模式-油猴脚本实战1 Start 前面的文章,对油猴脚本做了基础的介绍。今天来我们来实战一下,编写一个有实际作用的油猴脚本。 如果我希望我的csdn是暗黑模式,怎么办? 看我表演? 注意!本文仅用…

6. unity之脚本

1. 说明 当整个游戏运行起来之后,我们无法再借助鼠标来控制物体,此时可以使用脚本来更改物体的各种姿态,驱动游戏的整体运动逻辑。 2. 脚本添加 首先在Assets目录中,新创建一个Scripts文件夹,在该文件内右键鼠标选择创建脚本选项,即可创建一个脚本文件,可命名为Sampl…