首页 > 其他分享 >Visual Studio中集成的vcpkg

Visual Studio中集成的vcpkg

时间:2023-09-06 18:37:21浏览次数:42  
标签:管理器 C++ Visual Studio vcpkg 安装

vcpkg:Visual Studio 2022中的C++库管理器

Vcpkg 是一个 C++ 库管理器,它可以帮助你在 Windows、Linux 和 MacOS 上安装和使用第三方库。它支持超过 2000 个开源库,包括 Boost、OpenCV、Qt 等。Vcpkg 还可以自动处理库之间的依赖关系,让你的开发过程更加方便。

在本文中,我将介绍如何在 Visual Studio 2022 中安装和使用 vcpkg,以及如何在历史版本的 Visual Studio 中使用 vcpkg。也会列出一些 vcpkg 目前存在的问题和限制。

如何在Visual Studio 2022中安装vcpkg

从 Visual Studio 2022 开始,vcpkg 已经被包含在 Visual Studio Installer 中,你可以直接在安装或修改 Visual Studio 时选择安装 vcpkg。具体步骤如下:

1. 打开 Visual Studio 安装器,选择安装或修改 Visual Studio 2022。

2. 在安装页面中,选择你需要的工具选项,例如“C++桌面开发”。

3. 在组件页面中,勾选 “vcpkg - C++库管理器”。

4. 点击修改或安装,等待安装完成。

5. 安装完成后,你就可以使用 vcpkg 了。

如何在Visual Studio 2022中使用vcpkg

在 Visual Studio 中的 vcpkg 只能使用 manifest 模式,无法使用经典模式。因为在使用经典模式时需要安装 vcpkg 的 ports文件夹,但是当前 vcpkg 目录位于 Visual Studio 的安装目录下,没有对该目录的写入权限,所以 ports 安装会失败。

如果要在 Visual Studio 工程中以 manifest 模式使用 vcpkg,需要进行设置:在 “配置属性 -> vcpkg” 中将“use vcpkg manifest”置为“是”,然后保存。

 

Manifest 模式使用方法见链接:Manifest 使用示例 - Msbuild 工程 - vcpkg_C++包管理器 - 博客园 (cnblogs.com)

如何在旧版本的Visual Studio中使用vcpkg

如果你使用的是旧版本的 Visual Studio(2019或更低),你需要手动安装 vcpkg,并设置 CMake 工具链文件来指向 vcpkg.cmake 文件。这样,CMake 就可以自动找到并链接你安装的库。具体步骤如下:

1. 打开命令提示符,切换到你想要安装 vcpkg 的目录,例如 C:\src。

2. 输入以下命令,克隆 vcpkg 的仓库:`git clone https://github.com/microsoft/vcpkg`。

3. 输入以下命令,进入 vcpkg 的目录:`cd vcpkg`。

4. 输入以下命令,运行 bootstrap 脚本:`bootstrap-vcpkg.bat`。

5. 等待脚本完成后,你就可以使用 vcpkg 了。

6. 打开 Visual Studio,创建或打开一个 CMake 项目。

7. 在解决方案资源管理器中,右键单击 CMakeLists.txt 文件,选择打开文件夹设置。

8. 在设置页面中,选择 “配置 -> CMake -> 工具链”。

9. 在工具链文件中,输入内容:`C:\src\vcpkg\scripts\buildsystems\vcpkg.cmake`,点击确定,保存设置更改。

10. 在命令提示符中,切换到 vcpkg 的目录,输入以下命令,安装你需要的库:`vcpkg install portName`。

11. 然后运行以下命令:`vcpkg integrate install`。

12. 回到 Visual Studio,重新生成项目。

13. 在代码中,你就可以使用 `#include <headfile.h>` 指令来引用库的头文件了。

你也可以参考以下博客中对于 vcpkg 的使用方法:

MSbuild 工程中使用 vcpkg: 在MSbuild工程中使用vcpkg提供的库 - vcpkg_C++包管理器 - 博客园 (cnblogs.com)

CMake 工程中使用 vcpkg: 在CMake工程中使用vcpkg提供的库 - vcpkg_C++包管理器 - 博客园 (cnblogs.com)

Visual Studio 集成的vcpkg存在的已知问题

以下功能尚不适用于 vcpkg 的内部构件,但计划在 Visual Studio 未来版本中修复:

  • “工具 > 选项 > vcpkg 包管理器设置” 允许你通过自定义一个 vcpkg 库来管理 vcpkg artifacts,该设置仍然存在并可用于其预期目的,但不会替换其他上下文中的 vcpkg 内置副本,例如在终端。将来,我们计划使用一种方法可以全局设置它们,而不必使用 `vcpkg integrate install` 命令。

  • 无需运行 `vcpkg integrate install` 命令,即可使用 vcpkg 安装的包。

  • 当智能检测方法检查到一个库的代码未被找到或者没有被 manifest 模式安装时可以快速的提示结果。

你可以在 vcpkg 的 GitHub 页面上查看更多的问题和建议:microsoft/vcpkg: C++ Library Manager for Windows, Linux, and MacOS (github.com)

结语

Vcpkg 是一个非常有用的 C++ 库管理器,它可以让你在 Visual Studio 中轻松地安装和使用第三方库。它支持多种操作系统和开源库,还可以自动处理依赖关系。如果你是一个 C++ 开发者,我强烈建议你尝试一下 vcpkg,它会给你带来很多便利和乐趣。

 

标签:管理器,C++,Visual,Studio,vcpkg,安装
From: https://www.cnblogs.com/vcpkg/p/17679491.html

相关文章

  • 如何向vcpkg提交一个PR
    为vcpkg提交PullRequest的操作步骤如果你想为vcpkg提交一个pullrequest,可以通过以下操作步骤来完成,以更新port为例:1.访问vcpkg的官网:microsoft/vcpkg:C++LibraryManagerforWindows,Linux,andMacOS(github.com),点击Fork按钮来创建一个位于你账户下的v......
  • 如何向vcpkg报告一个issue
    如果你在使用VCPKG时遇到问题并想报告,你可以通过创建一个新的问题来完成。以下是操作步骤:1.访问VCPKG的GitHub仓库(microsoft/vcpkg:C++LibraryManagerforWindows,Linux,andMacOS(github.com))。2.点击“问题”(Issues)。你可以在仓库页面顶部找到“问题”选项......
  • vcpkg 与 GitHub 依赖关系图集成
    我们很高兴与大家分享,vcpkg有一项实验性功能,可以向GitHub依赖关系图提供数据。我们正在积极开发此功能,并希望听到您的反馈。如果您对当前功能有任何想法或希望看到进一步的改进,请告诉我们。如果你对vcpkg支持的依赖关系图启用的任何GitHub特性有反馈,也请告诉我们,我们会确保Git......
  • vcpkg 文档移至 Microsoft Docs 平台
    vcpkg文档移至MicrosoftDocs平台vcpkg文档有了一个新主页:vcpkgdocumentation|MicrosoftLearn。这是大多数微软文档托管的一个平台,具有很多特性,使得搜索、导航、创作和审阅文档变得更为容易。所有当前的vcpkg文档都在新平台上可见,我们仍然致力于从其他位置删除文档(vcp......
  • 001-FactoryTalk View studio 恢复mer文件
    mer文件是AllenBradleyPanelViewPlus系列触摸屏上的运行文件,一般情况,用户在RSVIewStudioME或FactoryTakViewStudioME系统下开发完成人机界面程序后,编译成可在触摸屏上运行的mer格式文件,上传到伸触摸屏内存供其运行。由于是编译后的运行格式,它并不含有开发项目的全部信息,但......
  • CMake生成Visual Studio工程
    CMake–生成VisualStudio工程C/C++项目经常使用CMake构建工具。CMake项目文件(例如CMakeLists.txt)可以直接由VisualStudio使用。本文要说明的是如何将CMake项目转换到VisualStudio解决方案(.sln)或项目(.vcxproj)开发环境为了生成VisualStudio解决方案,必须安装以下内......
  • 使用 SQLStudio 进行数据库管理并通过 Docker Compose 进行部署
    在现代软件开发中,数据库管理是一个至关重要的环节。SQLStudio是一个强大的工具,可以帮助开发人员轻松管理数据库,现在改名成SQLynx,我们用的是旧的镜像,本文还是用SQLStudio这个名称。同时,使用DockerCompose可以简化应用程序的部署过程,使整个开发流程更加高效和可靠。最近了看到有......
  • Visual Studis 2019添加解决方案文件夹报错:未将对象引用设置到对象的实例
      原来是可以创建解决方案文件夹的,也不知道是不是使用了vs管理插件。 vs创建的解决方案文件夹是虚拟的,所以需要后台创建一个,vs创建一个。 目前解决方案:1、先创建解决方案文件夹,报错也没关系,默认文件夹名 2、打开解决方案文件  3、修改默认的那个解决方案......
  • 【ToolChains】CLion(VS2019) + CMake + Vcpkg 的使用
    参考博客:https://blog.51cto.com/u_15075510/4201238http://t.csdn.cn/pADDUhttps://zhuanlan.zhihu.com/p/454233496https://blog.csdn.net/weixin_43803955/article/details/123544106Vcpkg概述Vcpkg是微软社区开发的一个跨平台的C++包管理工具。它旨在解决C++......
  • Visual Studio 2019快捷键
    Ctrl+J/Ctrl+K,L:列出成员Ctrl+Shift+空格键/Ctrl+K,P:参数信息Ctrl+K,I:快速信息Ctrl+E,C/Ctrl+K,C:注释选定内容Ctrl+E,U/Ctrl+K,U:取消选定注释内容Ctrl+K,M:生成方法存根Ctrl+K,X:插入代码段Ctrl+K,S:插入外侧代码F12:转到所调用过程或变量的定义C......