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

vcpkg:面向C/C++的跨平台库管理工具软件配置笔记经验教程

1、什么是vcpkg

        对于使用过Python进行程序设计的开发者们,大多都会对Python的各种库和依赖,仅仅通过几条简单命令行就完成配置的操作感到惊叹,非常的省事省力。反倒是C/C++开发时,要是每个库都要自己下载源码编译或者对环境进行配置,那这对资深经验的开发者来说,也不是很难,花点时间就行,但是对于刚起步的开发者而言,各种报错和环境配置问题就是一个让人头大的问题。

        那么,在C/C++中,有没有和Python类似的,对这个库进行快捷管理配置的工具呢?

        答案是肯定的,那就是vcpkg,那么相信很多读者们可能之前没有接触过vcpkg这个软件工具哈,下面对它做一个简单的介绍。

        vcpkg 是由 Microsoft 和 C++ 社区维护的免费开源 C/C++ 包管理器,可在 Windows、macOS 和 Linux 上运行。 它是核心的 C++ 工具,使用 C++ 和 CMake 脚本编写。 它旨在解决管理 C/C++ 库的独特难题。

        简单的大白话来说,vcpkg就是一个软件包管理工具,让开发者快速使用安装一些工具软件,跟Python安装一些依赖库的方式差不多

        vcpkg源码下载地址:

GitHub - microsoft/vcpkg: C++ Library Manager for Windows, Linux, and MacOShttps://github.com/microsoft/vcpkg

2、安装配置vcpkg环境

(1)、下载完整安装包

        在进行操作的第一步,就是下载vcpkg,进入到vcpkg的仓库代码中,把资源文件给拉下来。

(2)、生成可执行文件

        在完成了上面的下载工作后,将vcpkg的完整包解压到一个你想要放置的路径下,然后打开终端,切换到路径下。

        在Windows平台下,运行命令:.\bootstrap-vcpkg.bat

        在Linux平台下,运行命令:./bootstrap-vcpkg.sh

(3)、加入系统环境变量(可选)

        将安装的路径复制,然后加入到系统属性设置的环境变量中。

(4)、检查是否可以正常运行

        如果配置到了系统环境变量中,可以直接打开终端,就可以执行了,没有的话,就必须切换系统路径到安装的文件处。

        执行vcpkg --version,检查是否可以运行输出安装的vcpkg版本信息。

        到这一步,vcpkg就可以正常的使用了。

(5)、链接到编译器

        在MS Build中,也就Visual Studio 2022自带的编译器,进行链接的操作命令:vcpkg integrate install

        只需在首次启用 MSBuild 集成时运行 vcpkg integrate install 命令。 这将为所有现有和未来的项目启用 MSBuild 集成。 可以使用 vcpkg integrate remove 删除 MSBuild 系统范围的集成。

        这个集成方法会自动将已安装 vcpkg 的包添加到以下项目属性:Include Directories、Link Directories和 Link Libraries。

        若要在 CMake 项目中 使用vcpkg,需要将 CMAKE_TOOLCHAIN_FILE 变量设置为使用 vcpkg 的 CMake 工具链文件。 vcpkg 工具链位于 %VCPKG_ROOT%/scripts/buildsystems/vcpkg.cmake中,其中 %VCPKG_ROOT% 是 vcpkg 安装路径。

3、vcpkg的常用应用

(1)、安装C/C++工具库

        安装包的命令如下:

vcpkg install [options] <package>...

        以安装protobuf为例,那么操作命令为:vcpkg install protobuf

(2)、卸载C/C++工具库

        从经典模式中移除端口包。

vcpkg remove [options] <package>...

(3)、更新库文件

        将一组经典模式的已安装包与当前可用版本进行比较。要移除过时的版本而不安装替代版本使用 vcpkg remove --outdated。要移除并安装较新的版本,请使用 vcpkg upgrade。

vcpkg update [options]

(4)、查看已安装的库

        显示已安装树中的包列表以及每个包的版本和说明。

vcpkg list [options]

(5)、构建系统集成

        将 vcpkg 与 shell 和构建系统集成。

  • 构建系统集成
vcpkg integrate [options] install
vcpkg integrate [options] remove
vcpkg integrate [options] project
  • Shell 集成
vcpkg integrate [options] powershell
vcpkg integrate [options] bash
vcpkg integrate [options] zsh
vcpkg integrate [options] x-fish

        vcpkg integrate install 与 Visual Studio 集成(仅限 Windows),设置用户范围的 vcpkg 实例,并显示 CMake 集成帮助。

        本文主要是对vcpkg进行基础的介绍及环境搭建的经验近些年分享。在上面列举的是一些常用的命令,如果有兴趣继续深入了解,可以访问微软官网关于对vcpkg的教程:通用命令选项 | Microsoft Learnhttps://learn.microsoft.com/zh-cn/vcpkg/commands/common-options


文章转载自:

http://QJSExFqL.wctqc.cn
http://VNWRJHfU.wctqc.cn
http://TFCIvVht.wctqc.cn
http://DOIyJAoJ.wctqc.cn
http://KaTmWteA.wctqc.cn
http://uKSdY0NS.wctqc.cn
http://o47s43JT.wctqc.cn
http://wbvNC9sT.wctqc.cn
http://QkWKZdw0.wctqc.cn
http://zMAvOIop.wctqc.cn
http://UbRJP22S.wctqc.cn
http://cWoDrDbH.wctqc.cn
http://4s6QZZi6.wctqc.cn
http://CAbVBAUR.wctqc.cn
http://w1JffUGC.wctqc.cn
http://QMs7cwT4.wctqc.cn
http://XVgFb4Ps.wctqc.cn
http://80RsYWSA.wctqc.cn
http://qfllkG5V.wctqc.cn
http://UWSWsTzA.wctqc.cn
http://humvtsS1.wctqc.cn
http://lEfrieFX.wctqc.cn
http://WBgdW2Sl.wctqc.cn
http://t8ls26eD.wctqc.cn
http://XLBRsSLs.wctqc.cn
http://3vVkH0pa.wctqc.cn
http://HPYXaaFa.wctqc.cn
http://bzPY2sEh.wctqc.cn
http://cyBx4byc.wctqc.cn
http://cep74D7Y.wctqc.cn
http://www.dtcms.com/a/381835.html

相关文章:

  • Claude Code的交互方式
  • 使用atop工具监控Linux系统指标
  • 工具链部署实用技巧 7|模型设计帧率推理时耗时与带宽分析
  • 《SRE 系列(八)| 高效组织协作经验》
  • 数据结构---链式队列
  • 【C++实战⑦】C++函数实战:从基础到项目应用
  • 通过语义AI管道检测文本数据中的潜在异常值
  • 这是第二篇
  • Mamba模型介绍
  • rock linux 9 安装mysql 5.7.44
  • 基于STM32智能农业大棚检测控制系统设计
  • 05 回归问题和分类问题
  • Linux应用(4)——进程通信
  • 用C语言解决喝汽水问题
  • 【开题答辩全过程】以 4S店汽车维修保养管理系统为例,包含答辩的问题和答案
  • 边缘计算技术深入解析
  • 三生原理的“素性塔“结构是否暗含共形场论中的算子乘积展开层级?‌
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘cugraph’问题
  • 评估硬件兼容性时如何快速判断老旧设备是否支持新协议
  • [2025]使用echarts制作一个漂亮的天气预报曲线图
  • 每日算法题推送
  • DataSet-深度学习中的常见类
  • Python编辑器的安装及配置(Pycharm、Jupyter的安装)从0带你配置,小土堆视频
  • SystemVerilog 学习之SystemVerilog简介
  • 中国联通卫星移动通信业务分析
  • 学习游戏制作记录(实现震动效果,文本提示和构建游戏)9.13
  • 【CMake】循环——foreach(),while()
  • 对比Java学习Go——函数、集合和OOP
  • AI时代的内容创作革命:深度解析xiaohongshu-mcp项目的技术创新与实战价值
  • 3-11〔OSCP ◈ 研记〕❘ WEB应用攻击▸存储型XSS攻击