【配置环境】Windows和Linux下安装和使用C/C++第三方库管理工具vcpkg

article/2025/10/5 2:03:34

目录

一,环境准备

二,vcpkg简介

三,Window系统下载vcpkg

四,Linux系统下载vcpkg

五,vcpkg命令介绍

1.命令参照表

2.常用的vcpkg命令以及详细解释


一,环境准备

  • Git - Downloads 根据平台下载最新版本(傻瓜式安装)
  • Visual Studio 2015 或更新的版本(包含英文语言包),点击VS界面菜单栏的工具->获取工具和功能,查看是否下载英文语言包

  • Windows 7 或更新的版本

二,vcpkg简介

前言

  • vcpkg是微软公司开发的一个用于在多个平台上管理C++库的开源工具。它提供了一个简单易用的方式来下载、构建和安装各种C++库,以解决C++开发中的依赖管理问题
  • vcpkg支持Windows、macOS和Linux等多个操作系统,为开发人员提供了跨平台的便捷工具来集成和管理C++库。
  • 提供了超过1500个C++库的预编译二进制包,并且还提供了一组命令行工具,以帮助用户安装,卸载,升级和管理C++库的版本。

特点

  • 简化依赖管理:vcpkg提供了一个简单易用的方式来下载、构建和安装C++库,简化了复杂的依赖管理工作。开发人员无需手动处理繁琐的库安装和集成过程,而是通过简单的命令行接口来管理库的依赖关系。
  • 快速和方便的下载:vcpkg提供了一个简单的命令行接口,使得开发人员能够方便地从vcpkg的官方库集合中下载所需的C++库。这些库经过了优化和测试,保证可靠性和稳定性。
  • 自动构建和安装:vcpkg能够自动下载源代码、构建库,并将其安装到vcpkg的工具链目录中。这使得库的构建和安装过程自动化,减少了开发人员的工作量。
  • 版本控制和升级:vcpkg允许开发人员指定所需库的特定版本,并确保正确的库版本被下载和使用。它还支持库的升级和管理,使得开发人员能够轻松跟踪和更新库的不同版本。
  • 集成支持:vcpkg与常用的构建工具和包管理器(如CMake、Visual Studio和Git)紧密集成,使开发人员能够轻松管理和集成C++库的依赖关系。vcpkg的CMake集成可自动生成包含所需库的正确链接和包含路径的CMake配置文件。
  • 丰富的库集合:vcpkg维护了一个庞大的C++库集合,包括常用的开源库、第三方库和平台特定库。开发人员可以方便地浏览和查找所需的库,并通过vcpkg快速安装和使用它们。
  • 跨平台支持:vcpkg支持多个操作系统,包括Windows、macOS和Linux,使得开发人员能够使用同一工具在不同平台上管理C++库的依赖。这有助于跨平台开发的流程和效率。

三,Window系统下载vcpkg

1.安装vcpkg( git克隆 vcpkg 仓库)

  • 在C盘路径下右击鼠标,点击 Git Bash Here 弹出命令窗口,输入以下命令:
    • git clone https://github.com/microsoft/vcpkg.git

2.构建vcpkg工具

  • window系统执行vcpkg目录下的 bootstrap-vcpkg.bat 脚本来构建vcpkg工具。
  • macOS、Linux系统执行 bootstrap-vcpkg.sh 脚本来构建vcpkg工具。

3.集成vcpkg

  • 将vcpkg所在的目录路径添加到系统的环境变量中,以便能够在任何位置调用vcpkg。

4.安装第三方库

  • 安装32位(默认安装) 
    •  vcpkg install [package name]
  • 安装64位
    •  vcpkg install [package name]:x64-windows

  • 安装第三方库出现的问题
  • 解决方式:cmd窗口切换到vcpkg目录,运行git pull 命令以获取最新的vcpkg代码

  • 安装第三方库成功效果(libevent库)
  • 在vcpkg/packages目录下可以查看已安装的库

5.集成到项目中

  • 执行命令:vcpkg integrate install
  • 执行后就可以让 VS 可以自动访问到[vcpkg-path]/installed下以安装的库,我们不需要另外去为项目配置库环境。
  • 在此之后,您可以创建一个非 CMake 项目 (或打开已有的项目)。在您的项目中,所有已安装的库均可立即使用 #include 包含您需使用的库的头文件且无需额外配置。 

6.为什么执行 vcpkg integrate install 命令后,在项目中更方便地使用vcpkg安装的库?(题外话)

  • 构建系统集成:vcpkg integrate install命令会自动检测项目所使用的构建系统,如CMake、Visual Studio等,并进行相应的集成配置。它会将vcpkg的工具链路径添加到构建系统的配置中,使得构建系统能够在库搜索路径中找到vcpkg安装的库。
  • 自动设置链接和包含路径:在执行vcpkg integrate install命令后,vcpkg会自动将库的链接路径和头文件包含路径添加到项目的构建系统配置中。这样,在构建项目时,构建系统会自动查找并链接vcpkg安装的库,同时能够正确包含库的头文件。
  • 透明集成:一旦使用vcpkg integrate install命令将vcpkg与项目集成,开发人员就可以无需关心库的链接和包含路径的配置细节。它们可以直接在项目中使用vcpkg安装的库,就像在使用系统库一样简单。
  • 跨平台支持:vcpkg integrate install命令能够根据不同的构建系统和操作系统进行适配,确保在跨平台开发时能够正确地设置链接和包含路径。这使得在不同平台上使用vcpkg安装的库变得更加方便和一致。

四,Linux系统下载vcpkg

  1. 按 Ctrl+Alt+t 打开命令终端,执行 cd ~ 切换到家目录
  2. 执行以下命令下载vcpkg源代码
    1. git clone https://github.com/Microsoft/vcpkg.git
  3. 执行 cd vcpkg 进入vcpkg目录,执行以下命令来构建vcpkg
    1. ./bootstrap-vcpkg.sh
  4. 执行完上述命令后会报如下错误,这说明缺乏构建工具和相关依赖项。
  5.  然后根据自己的Linux发行版执行适当的命令,这里我的是Ubuntu,执行如下命令
    1. sudo apt-get update
    2. sudo apt-get install curl zip unzip tar
  6. 再次执行 ./bootstrap-vcpkg.sh 命令构建生成vcpkg
  7. 任意位置执行vcpkg命令会出现如下效果,这是因为未配置它的环境变量


在Linux上配置vcpkg的环境变量,可以按照以下步骤进行操作:
  1. 编辑bashrc文件:运行以下命令以编辑bashrc文件(.bashrc文件详细介绍总结)
    1. vim ~/.bashrc
  2. 添加vcpkg路径:在打开的bashrc文件的末尾,添加以下行,然后保存并关闭bashrc文件(VCPKG_HOME为vcpkg文件夹的绝对路径
    1. export VCPKG_HOME=~/vcpkg
    2. export PATH=$VCPKG_HOME:$PATH
  3. 刷新bashrc文件:运行以下命令以刷新bashrc文件中的环境变量
    1. source ~/.bashrc
  4. 验证设置:运行以下命令来验证vcpkg环境变量是否正确配置
    1. echo $VCPKG_HOME

五,vcpkg命令介绍

1.命令参照表

vcpkg search [pat]

搜索要构建的可用包

vcpkg install <pkg>安装软件包
vcpkg remove <pkg>卸载安装包
vcpkg update列出可以更新的包
vcpkg remove --outdated卸载所有过时的软件包
vcpkg upgrade重新构建所有过时的软件包
vcpkg hash <file> [alg]通过特定算法对文件进行哈希,默认为SHA512
vcpkg help topics显示帮助主题列表
vcpkg help <topic>显示特定主题的帮助
vcpkg list列出已安装的软件包
vcpkg integrate install使已安装的包在用户范围内可用,需要管理第一次使用的特权
vcpkg integrate remove删除用户范围的集成
vcpkg integrate project为单个VS项目生成一个引用NuGet包使用
vcpkg integrate powershell

启用PowerShell选项卡完成

vcpkg export <pkg>... [opt]...导出一个包
vcpkg edit <pkg>

打开一个端口进行编辑(使用环境器程序,默认为“code”)

vcpkg create <pkg> <url> [archivename]创建一个新端口
vcpkg x-init-registry <path>初始化目录<path>中的注册表
vcpkg format-manifest --all格式化所有vcpkg,json文件,在提交到vcpkg之前运行这个命令
vcpkg owns <pat>

搜索安装包中的文件

vcpkg depend-info <pkg>...

显示端口的依赖项列表

vcpkg env为开发或编译创建一个干净的shell环境
vcpkg version

显示版本信息

vcpkg contact

显示联系人信息发送反馈

@response_file指定响应文件以提供附加参数
有关更多帮助(包括示例),请参阅附带的README。Md和docs文件夹

2.常用的vcpkg命令以及详细解释

  1. vcpkg version显示vcpkg的版本信息。该命令会显示当前vcpkg工具的版本号和详细信息。
  2. vcpkg search <package>:搜索库。该命令可用于在vcpkg的库集合中搜索特定的C++库。
  3. vcpkg install <package>安装库。使用该命令可以安装指定的C++库。例如,vcpkg install libevent将安装libevent库。
  4. vcpkg remove <package>移除库。使用该命令可以移除已安装的C++库。
  5. vcpkg update更新库。该命令会检查并更新vcpkg的库集合,使其与官方存储库保持同步。
  6. vcpkg upgrade升级库。使用该命令可以升级已安装的C++库到它们的最新版本。
  7. vcpkg list列出已安装的库。该命令会显示所有已安装的C++库及其版本信息。
  8. vcpkg integrate install集成vcpkg。该命令会将vcpkg工具链与项目的构建系统进行集成,以方便在项目中使用vcpkg安装的库。
  9. vcpkg integrate remove移除vcpkg与构建系统的集成。该命令会将vcpkg工具链从项目的构建系统中移除,以便项目不再依赖vcpkg安装的库。
  10. vcpkg export导出配置。该命令将生成一个vcpkg.json配置文件,其中包含项目所需的所有库及其版本信息,以便在其他机器上进行相同的配置。
  11. vcpkg help获取帮助。该命令会显示有关vcpkg命令和使用方法的帮助信息。
  12. vcpkg help command获取特定命令的帮助。使用该命令可以获取对特定命令的详细使用说明和示例。
  13. vcpkg upgrade --no-dry-run无提示升级库。使用该命令可以在不提示的情况下直接升级已安装的C++库到最新版本。
  14. vcpkg search --x-versions搜索所有可用的版本。该命令会显示库的所有可用版本,以帮助开发人员选择特定版本进行安装。
  15. vcpkg upgrade --recurse递归升级所有依赖。使用该命令可以递归地升级项目中已安装的所有库及其依赖项。
  16. vcpkg create <library>创建库。该命令可用于创建自定义C++库的vcpkg端口,并将其添加到vcpkg的库集合中。
  17. vcpkg contact联系vcpkg团队。使用该命令可以查看vcpkg团队的联系方式。
  18. vcpkg integrate powershell在PowerShell中集成vcpkg。该命令将vcpkg工具链与PowerShell的构建环境进行集成。
  19. vcpkg owns <package>确认库的归属。使用该命令可以查看哪些库是由vcpkg安装的,哪些是由其他方式安装的。
  20. vcpkg edit <package>编辑库的端口文件。该命令会在默认编辑器中打开指定库的端口文件,以便进行自定义配置。
  21. vcpkg list --x-versions列出所有可用版本。该命令会列出所有可用版本的库及其详细信息,以帮助开发人员选择特定版本进行安装。
  22. vcpkg cache显示库的缓存路径。使用该命令可以查看vcpkg缓存已下载的库二进制包的位置。
  23. vcpkg config管理vcpkg的配置。该命令允许开发人员配置和管理vcpkg的不同选项,如设置默认的安装路径、设置C++编译器等。
  24. vcpkg binarycache设置二进制包缓存路径。使用该命令可以修改vcpkg的二进制包缓存路径,以便在离线环境中使用已下载的二进制包进行安装。

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

相关文章

vcpkg:使用 vcpkg

命令 查看Vcpkg支持的开源库列表 查看Vcpkg支持的开源库列表 .\vcpkg\vcpkg search安装一个开源库 这里的“安装”其实是指下载和编译。 比如我们需要安装常用的jsoncpp库&#xff0c;那么执行命令 .\vcpkg\vcpkg install jsoncpp输出 Computing installation plan... A …

【vcpkg】vcpkg:用于 Windows、Linux 和 macOS 的 C++ 包管理器

官网:https://docs.microsoft.com/zh-cn/cpp/build/vcpkg?viewmsvc-160&viewFallbackFromvs-2019 vcpkg vcpkg 是用于 C 的一种命令行包管理器。 它极大地简化了 Windows、Linux 和 macOS 上第三方库的购置与安装。 如果项目要使用第三方库&#xff0c;建议通过 vcpkg 来…

在Visual Studio中激活vcpkg环境

在Visual Studio 2022 17.4中&#xff0c;vcpkg环境现在会自动激活。 一个vcpkg环境是由一个manifest文件描述的&#xff0c;该文件捕获了构建应用程序所必需的工件&#xff08;了解更多关于vcpkg工件的信息&#xff09;。 当前vcpkg工件的体验主要是针对嵌入式开发人员&…

Visual Studio工具 vcpkg简介

vcpkg是命令行包管理工具&#xff0c;在使用第三方库的c或c开发中可以简化相关的配置操作。vcpkg安装的包支持Visual Studio 2015 update 3及以上版本&#xff0c;包括vs2017工具集&#xff0c;目前在windows平台已有超过900多个包&#xff0c;linux平台超过350个包。在默认情况…

windows 下包管理工具vcpkg安装

主要参考博文&#xff1a;vcpkg安装及使用_我叫电池的博客-CSDN博客_vcpkg安装 由于需要在离线环境下面搭建开发环境&#xff0c;所有的包只能离线安装了&#xff0c;包括这个管理工具vcpkg的安装&#xff0c;也必须是离线安装。 一. 下载安装vcpkg管理工具 下载目录&#x…

Vcpkg介绍及使用

Vcpkg用于在Windows、Linux、Mac上管理C和C库&#xff0c;极大简化了第三方库的安装&#xff0c;它由微软开源&#xff0c;源码地址&#xff1a;https://github.com/Microsoft/vcpkg&#xff0c;最新发布版本为2023.04.15 Release&#xff0c;它的license为MIT。 在windows上安…

Vcpkg C/C++库管理工具安装和使用教程(链接VS2019)

1、概述&#xff1a; Vcpkg是可用于Windows&#xff0c;linux和MacOS上跨平台的 C/C 库管理工具&#xff0c;是一款开源工具。在此对vcpkg的安装做一个简要的说明&#xff0c;有关具体命令的使用&#xff0c;在安装成功后使用 vcpkg help 或者 vcpkg help[comment] 可以获取特…

vcpkg安装及使用

vcpkg安装及使用 参考链接 1. 安装 内容复制自官方文档 首先&#xff0c;请下载vcpkg并执行 bootstrap.bat 脚本。 它可以安装在任何地方&#xff0c;但是通常我们建议您使用 vcpkg 作为 CMake 项目的子模块&#xff0c;并将其全局安装到 Visual Studio 项目中。我们建议您使…

vcpkg安装指定版本的库

由于fmt版本过高&#xff0c;部分依赖其的库使用时会报错&#xff08;错误 C2338 Cannot format an argument. To make type T formattable provide a formatter<T> specialization&#xff09;。 vcpkg install fmt:x64-windows 默认装的是fmt9.1.0&#xff0c;但是…

vcpkg基本使用

1. vcpkg安装 将下列powershell代码存成ps1文件&#xff0c;在目录下shift右键->打开power shell窗口&#xff0c;运行脚本后vcpkg即安装完成。 # 1. 创建目录、下载vcpkg&#xff1a; mkdir -f D:/APPs cd D:/APPs # github # git clone https://github.com/microsoft/vc…

Visual Studio开源库集成器Vcpkg全教程--利用Vcpkg轻松集成开源第三方库

利用Vcpkg轻松集成开源第三方库 1. 为什么要用Vcpkg 1.1. 传统使用开源库的方法 1.1.1. 编译工具1.1.2. 编译类型1.1.3. 工程目录设定 1.2. Vcpkg的优点 2. 获取Vcpkg 2.1. 下载Vcpkg2.2. 编译Vcpkg 3. 使用Vcpkg 3.1. 查看Vcpkg支持的开源库列表3.2. 安装一个开源库3.3. 指定编…

VCPKG安装和使用教程

文章目录 1. 安装2. 使用命令选项 3. 集成vcpkgWindows 上的 Visual Studio 集成Linux 或 macOS 上的 Visual Studio Code 集成删除 vcpkg 集成 使用举例4. 详细介绍4.1 新增库4.2 删除库4.3 查看已经安装的列表4.4 更新已经安装的开源库 1. 安装 去GitHub上下载源码&#xff…

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…