Windows安装vcpkg教程(VS2022)

news2024/11/20 1:46:10

内容摘要:

本文详细介绍如何在Windows系统上使用 Git 克隆 vcpkg 仓库来安装vcpkg工具,并链接Visual Studio 2022。

目录

一、关于vcpkg

二、开发环境

三、安装Git

四、使用 Git 克隆 vcpkg 仓库


一、关于vcpkg

vcpkg 是一个开源的 C++ 包管理工具,旨在简化 C++ 库的管理、安装和集成。它帮助开发者轻松地将第三方 C++ 库集成到自己的项目中,并提供了一种跨平台的方式来管理和分发 C++ 库。vcpkg 支持 Windows、Linux 和 macOS,能够自动处理库的下载、构建和依赖关系,极大地简化了 C++ 开发中的外部库管理问题。

vcpkg与其它管理工具的对比:

  1. vcpkg vs Conan

    • Conan 是另一个流行的 C++ 包管理工具,旨在简化 C++ 项目的依赖管理。Conan 提供更强大的跨平台支持,支持与多种构建系统(如 CMake、Visual Studio、Make 等)集成。
    • vcpkg 更注重与 Visual Studio 和 CMake 的无缝集成,并提供了更为简单的命令行界面和安装方式。
    • 差异:vcpkg 主要用于管理由 Microsoft 和其他开源社区提供的 C++ 库,并且通常支持 Windows 和 Linux/macOS 平台。而 Conan 支持更多的构建系统、版本和配置,可以为多种平台提供更多定制选项。
  2. vcpkg vs 自行管理依赖: 在没有 vcpkg 的情况下,开发者需要手动下载、构建和集成外部库,管理所有的依赖关系。这不仅耗时,而且容易出错。vcpkg 提供了一个简单、高效的方式来自动处理这些任务,减少了人工错误的发生。

vcpkg的优点:

  • 易用性:通过命令行一行命令安装、卸载库,简化了 C++ 项目中库的管理。
  • 跨平台支持:支持 Windows、Linux 和 macOS,让同一个项目可以在多个平台上使用相同的依赖。
  • 自动化依赖管理:自动处理库的构建和依赖关系,不需要手动解决版本和依赖冲突。
  • 与 CMake 完美集成:通过 CMAKE_TOOLCHAIN_FILE 配置,vcpkg 能自动配置 CMake 项目,省去了手动配置路径的麻烦。

二、开发环境

1.操作系统:Win10/Win11

2.开发工具:Visual Studio 2022

3.开发语言:C/C++

4.Git版本:2.47.0.2

三、安装Git

在安装 vcpkg 之前,Git 是一个必要的工具,因为 vcpkg 是通过 Git 从 GitHub 仓库克隆下来的。Git 是一个分布式版本控制系统,允许你从远程仓库(例如 GitHub)下载源代码并管理版本。

1.下载地址: 

Git官方网址: http://git-scm.com(包含不同系统不同平台的安装包和源代码)

适用于Windows的Git下载网址:http://gitforwindows.org (只有 windows 系统的安装包)

2.安装步骤:

下载后双击exe进行安装,如下图所示。

点击next,笔者设置安装位置为D:\METIS\GIT。

根据自己的需要选择组件进行下载,默认如下图所示。

方框内 Git 为安装组件的文件夹名称,可改为其他名字,也可点击 “Browse...” 选择其他文件夹或者给"Don't create a Start Menu folder" 打勾不要文件夹。

后续一直点击next,选择默认设置即可,安装完成后点击finish。

3.配置环境:

安装好后将git.exe的路径添加到系统 path 环境变量当中去,这样就可以在Windows系统Win+R的系统cmd命令行中使用vcpkg。我们主要使用的是 Git CMD ,当添加完Gti环境变量后,你也就可以使用Windos系统自带的cmd命令行工具。

右键此电脑->属性->高级系统设置->环境变量,如下图所示。

在系统变量中双击Path,点击新建,将bin文件夹的地址填入,笔者地址为D:\METIS\GIT\Git\bin,点击确定。

其中D:\METIS\GIT为安装位置,Git为安装组件的文件夹名。

4.检测安装是否成功:

使用快捷键Win+R,输入cmd打开终端,输入以下命令:

git --version

如果 Git 已成功安装并且环境变量已正确配置,你应该看到类似以下的输出: 

 这表示你安装的 Git 版本(例如版本 2.47.1.windows.2)。如果你看到类似这样的版本号输出,说明 Git 已经成功安装并配置好环境变量。

四、使用 Git 克隆 vcpkg 仓库

1.下载地址:

  • vcpkg 官方网站:https://vcpkg.io

这个网站提供了 vcpkg 的详细文档、安装指南、使用教程以及如何为 vcpkg 添加新的库等内容,可以在这个网站上找到关于 vcpkg 的所有资源。

  • vcpkg GitHub 仓库:https://github.com/microsoft/vcpkg

vcpkg 的源代码和贡献指南都托管在 GitHub 上,在 GitHub 上可以找到 vcpkg 的源代码、发布历史以及其他开发者的贡献。(本文安装方法使用该网址)

2.准备工作:

新建空文件夹,建议使用短路径名称(不含空格)(如 C:\src\win32\ 或 C:\dev\iot\),笔者以D:\vcpkg为例。首先下载引导vcpkg,安装位置随意,但是为了之后方便与Visual Studio以及其他C/C++编译器链接,建议使用类似 C:\src 或者 C:\dev ,可以理解为在本地建立一个库的仓库,之后所有的安装都在该目录下,否则会由于路径的缘故会遇到某些端口构建系统的路径问题。

3.使用 Git 克隆 vcpkg 仓库:

打开Git CMD命令行工具,使用 cd 到建立的目标路径(本文以D:\vcpkg为例)

使用 Git 克隆 vcpkg 仓库,输入以下命令:

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

终端如下图所示。

 这将会把 vcpkg 仓库克隆到当前目录中,并创建一个 vcpkg 文件夹。vcpkg 的所有源代码和工具都会被下载到该文件夹中。

下载完成如下图所示。

再次使用 cd 命令到vcpkg文件路径内(本文以D:\vcpkg\vcpkg为例)

运行构建脚本来编译 vcpkg,输入以下命令:

 .\bootstrap-vcpkg.bat 

终端如下图所示。

 下载完成后会编译并生成 vcpkg.exe 工具。

4.配置环境:

为了方便在任何地方使用 vcpkg 命令,可以将 vcpkg 的路径添加到环境变量中,使其在命令行中全局可用。右键此电脑->属性->高级系统设置->环境变量,在系统变量中双击Path,点击新建,将bin文件夹的地址填入,笔者地址为D:\vcpkg\vcpkg,点击确定。

5.检测安装是否成功:

使用快捷键Win+R,输入cmd打开终端,输入以下命令:

vcpkg --version

如果vcpkg已成功安装并且环境变量已正确配置,你应该看到类似以下的输出: 

vcpkg package management program version 2024-11-12-eb492805e92a2c14a230f5c3deb3e89f6771c321

See LICENSE.txt for license information.

这表示 vcpkg 已成功安装并正确运行。输出的内容包括以下信息:

vcpkg版本号:

输出中的 2024-11-12-eb492805e92a2c14a230f5c3deb3e89f6771c321 部分是 vcpkg 的版本信息。版本号包含两个部分:

  • 日期2024-11-12 表示 vcpkg 的版本发布日期。
  • 提交哈希eb492805e92a2c14a230f5c3deb3e89f6771c321 是当前 vcpkg 版本的 Git 提交哈希(唯一标识)。

这意味着安装的 vcpkg 是一个特定日期和版本的构建。

LICENSE.txt 提示:

See LICENSE.txt for license information 表示你可以查看 vcpkg 项目的 LICENSE.txt 文件,了解 vcpkg 的许可协议。

6.链接Visual Studio 2022:

继续在Git CMD的D:\vcpkg\vcpkg地址下输入以下命令:

 .\vcpkg integrate install

运行结果如下,即链接成功。

欢迎交流🌹🌹


参考资料:

Git 详细安装教程(详解 Git 安装过程的每一个步骤)_git安装-CSDN博客

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2243739.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nodejs入门(1):nodejs的前后端分离

一、引言 我关注nodejs还是从前几年做了的一个电力大数据展示系统开始的,当然,我肯定是很多年的计算机基础的,万变不离其宗。 现在web网站都流行所谓的前后端结构,不知不觉我也开始受到这个影响,以前都是前端直接操作…

智能停车解决方案之停车场室内导航系统(二):核心技术与系统架构构建

hello~这里是维小帮,如有项目需求和技术交流欢迎大家私聊我们!点击文章最下方获取智慧停车场方案~撒花! 随着城市化进程的加速,停车难问题日益凸显。智能停车系统作为缓解停车压力的有效手段,其核心技术与架构的构建至…

Django5 2024全栈开发指南(三):数据库模型与ORM操作

目录 一、模型的定义二、数据迁移三、数据表关系四、数据表操作4.1 Shell工具4.2 数据新增4.3 数据修改4.4 数据删除4.5 数据查询4.6 多表查询4.7 执行SQL语句4.8 数据库事务 Django 对各种数据库提供了很好的支持,包括 PostgreSQL、MySQL、SQLite 和 Oracle&#x…

中仕公考怎么样?事业编面试不去有影响吗?

事业编考试笔试已经通过,但是面试不去参加会有影响吗? 1. 自动放弃面试资格:未能按时出席事业单位的面试将被视为主动放弃该岗位的竞争机会。 2. 个人信誉问题:面试作为招聘流程的关键步骤,无故缺席可能被解释为诚信…

MySql结合element-plus pagination的分页查询

实现效果如下: 重点:使用mysql查询的limit和offset 原生SQL写法: select c.id as deptid,c.name as department,position,a.name staffname,2024-11 as shijian ,CASE WHEN b.shijian IS NULL THEN no ELSE yes END AS submit from fa_wecom…

学习笔记019——Ubuntu部署tomcat

1、下载Tomcat压缩包。本人下载的版本是:apache-tomcat-8.5.77.tar.gz 2、将压缩包上传到Ubuntu某个目录。 本人存放的目录是 /opt 目录下, 命令解压: ## 解压tomcat压缩包 tar -zxvf apache-tomcat-8.5.77.tar.gz 3、vim打开bin目录的setclasspath…

【JavaSE】(6)抽象类和接口

目录 一、抽象类 1、什么是抽象类 2、抽象类的特点 3、抽象类的作用 4、抽象类示例代码 二、接口 1、什么是接口 2、接口的书写建议 3、接口的特点 4、实现多个接口 5、接口能“忘记类型” 6、接口间的继承 7、接口的应用 7.1、引用类型的比较--Comparable 和 Co…

Git学习教程(更新中)

持续更新完善中… 1 Git简介 1.1 Git是什么? Git是一个开源的分布式版本控制系统,由Linus Torvalds创建,用于有效、高速地处理从小到大的项目版本管理。它能够记录项目文件的变更历史,让多个开发者可以协作开发同一个项目&#…

TON商城与Telegram App:生态融合与去中心化未来的精彩碰撞

随着区块链技术的快速发展,去中心化应用(DApp)逐渐成为了数字生态的重要组成部分。而Telegram作为全球领先的即时通讯应用,不仅仅满足于传统的社交功能,更在区块链领域大胆探索,推出了基于其去中心化网络的…

〔 MySQL 〕数据类型

目录 1.数据类型分类 2 数值类型 2.1 tinyint类型 2.2 bit类型 2.3 小数类型 2.3.1 float 2.3.2 decimal 3 字符串类型 3.1 char 3.2 varchar 3.3 char和varchar比较 4 日期和时间类型 5 enum和set mysql表中建立属性列: 列名称,类型在后 n…

两行命令搭建深度学习环境(Docker/torch2.5.1+cu118/命令行美化+插件),含完整的 Docker 安装步骤

深度学习环境的配置过于繁琐,所以我制作了两个基础的镜像,希望可以帮助大家节省时间,你可以选择其中一种进行安装,版本说明: base 版本基于 pytorch/pytorch:2.5.1-cuda11.8-cudnn9-devel,默认 python 版本…

免费实时图片编辑工具:MagicQuill

参看: https://huggingface.co/spaces/AI4Editing/MagicQuill 人工智能交互式图像编辑:可以制定涂改增加删除

前端学习八股资料CSS(五)

更多详情:爱米的前端小笔记,更多前端内容,等你来看!这些都是利用下班时间整理的,整理不易,大家多多👍💛➕🤔哦!你们的支持才是我不断更新的动力!找…

翼鸥教育:从OceanBase V3.1.4 到 V4.2.1,8套核心集群升级实践

引言:自2021年起,翼鸥教育便开始应用OceanBase社区版,两年间,先后部署了总计12套生产集群,其中核心集群占比超过四分之三,所承载的数据量已突破30TB。自2022年10月,OceanBase 社区发布了4.2.x 版…

如何在 Ubuntu 22.04 上安装 ownCloud

简介 ownCloud 是一个开源的个人云存储平台,它允许用户在本地服务器上存储和同步文件,提供了一个类似于 Dropbox 或 Google Drive 的服务,但是更加注重隐私和数据控制。以下是 ownCloud 的一些基础使用简介: 文件存储&#xff1…

使用Mybatis向Mysql中的插入Point类型的数据全方位解析

1. 结果 希望每一个能够看到结果的人都能自己装载进去!加油! 2.代码 2.1TestMapper import org.apache.ibatis.annotations.*; import java.util.Date; import java.util.List;/*** author Administrator*/ Mapper public interface TestMapper {/*…

web——sqliabs靶场——第六关——报错注入和布尔盲注

这一关还是使用报错注入和布尔盲注 一. 判断是否有sql注入 二. 判断注入的类型 是双引号的注入类型。 3.报错注入的检测 可以使用sql报错注入 4.查看库名 5. 查看表名 6.查看字段名 7. 查具体字段的内容 结束 布尔盲注 结束

鸿蒙实战:页面跳转传参

文章目录 1. 实战概述2. 实现步骤2.1 创建鸿蒙项目2.2 编写首页代码2.3 新建第二个页面 3. 测试效果4. 实战总结 1. 实战概述 本次实战,学习如何在HarmonyOS应用中实现页面间参数传递。首先创建项目,编写首页代码,实现按钮跳转至第二个页面并…

数据结构(基本概念及顺序表——c语言实现)

基本概念: 1、引入 程序数据结构算法 数据: 数值数据:能够直接参加运算的数据(数值,字符) 非数值数据:不能够直接参加运算的数据(字符串、图片等) 数据即是信息的载…

一.安装版本为19c的Oracle数据库管理系统(Oracle系列)

1.数据库版本信息: 版本信息: 或者直接由命令查出来: 2.操作系统的版本信息 3.安装包下载与上传 可以去oracle官网下载也可以从其他人的百度网盘链接中下载: 使用xftp工具或者其他的工具(mobaxterm)上传到l…