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