当前位置: 首页 > news >正文

Visual Studio 2022 安装和配置 vcpkg

1. 下载和安装 vcpkg

克隆 vcpkg 仓库

打开命令提示符或 PowerShell,运行以下命令:

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

进入 vcpkg 目录

cd vcpkg

运行 bootstrap 脚本

在 Windows 上,运行以下命令来构建 vcpkg:

.\bootstrap-vcpkg.bat

2. 集成 vcpkg 到 Visual Studio

运行集成命令

在 vcpkg 目录中,执行以下命令以将 vcpkg 集成到 Visual Studio:

.\vcpkg integrate install

这将自动设置 Visual Studio,使其能够识别 vcpkg 中安装的库。

3. 安装所需的 C++ 库

你可以通过 vcpkg 安装任何你需要的 C++ 库。例如,如果你需要安装 uWebSockets 和其他依赖项,可以运行:

.\vcpkg install uwebsockets libuv openssl

4. 在 Visual Studio 中使用 vcpkg 安装的库

  • 打开 Visual Studio 2022

  • 创建或打开一个 C++ 项目

  • 包含所需的头文件,例如:#include <uwebsocket/App.h>

    #include <uwebsocket/App.h>
    
  • 编译项目:在构建项目时,Visual Studio 会自动识别 vcpkg 中的库,并链接它们。

5. 管理 vcpkg

查看已安装的库

.\vcpkg list

更新库

.\vcpkg update

卸载库

.\vcpkg remove <library-name>

导出库

使用 vcpkg export 命令导出库: 使用以下命令导出特定库(例如 uWebSockets):

.\vcpkg export uwebsockets --output-dir=exported-libs

这将会把 uWebSockets 库和它的依赖项导出到名为 exported-libs 的文件夹中。你可以替换 uwebsockets 为你要导出的任何库名。

导入库:

当想在新项目中使用这些导出的库时,可以手动将它们添加到你的项目中,或使用 vcpkg 安装它们(如果它们在 vcpkg 中可用)。如果导出的库是以特定格式(如 tar.gz)存档的,可以直接在新项目中解压并配置。

6. 配置 x86/x64 平台

如果需要为不同的平台(如 x86 或 x64)安装库,可以指定平台。例如:

.\vcpkg install uwebsockets:x64-windows

7. 添加 vcpkg 路径(可选)

如果 vcpkg 没有被正确识别,可以手动添加 vcpkg 的库路径。在 Visual Studio 中:

  1. )右键点击你的项目,选择 Properties

  2. )在左侧菜单中,找到 VC++ Directories,在 Include DirectoriesLibrary Directories 中添加 vcpkg 的路径,通常是在 vcpkg\installed\x64-windows\includevcpkg\installed\x64-windows\lib

补充:

一、使用 VS 内置的命令提示符

  1. 打开 Visual Studio 2022
  2. 在菜单栏中,选择 Tools(工具)
  3. 然后选择 Command Line(命令行),你可以看到几个选项:
    • )Developer Command Prompt:用于执行与 Visual Studio 相关的命令。
    • )PowerShell:打开 Windows PowerShell。


http://www.mrgr.cn/news/46784.html

相关文章:

  • EE213 Lab virtuoso final project SRAM designlayout
  • 大疆机场及无人机上云
  • 一文通透OpenVLA及其源码剖析——基于Prismatic VLM(SigLIP、DinoV2、Llama 2)及离散化动作预测
  • 【高阶数据结构】位图
  • Unity 人体切片三维可视化,可任意裁切切割。查看不同断层的图像。
  • 【STM32-学习笔记-9-】SPI通信
  • 次卡办理——未来之窗行业应用跨平台架构
  • windows C++-移除界面工作线程(一)
  • HashMap 和 Hashtable 有什么区别?
  • Imported target “metis“ includes non-existent path
  • 【ShuQiHere】配置和使用 VS Code + LaTeX Workshop:全方位指南
  • 动态规划算法专题(六):回文串问题
  • k8s中pod的管理
  • Python案例--copy复制
  • 手写一个内存池-页内分配
  • 【CSS3】css开篇基础(2)
  • umap结果不能复现
  • linux基础-------堡垒机与跳板机
  • 【LeetCode】修炼之路-0004-Median of Two Sorted Arrays【python】
  • keil5| printf()函数 | 使用技巧 | STM32|UARST串口输出
  • 逼近理论及应用精解【11】
  • JS中的异步和Promise
  • 算法.图论-bfs及其拓展
  • k8s、prometheus、grafana数据采集和展示的链路流程
  • 「字符串」Z函数(扩展KMP|exKMP)/ LeetCode 2223(C++)
  • 基于SpringBoot问卷调查系统小程序【附源码】