一、前言
官方文档:链接
VCPKG是微软 C++ 团队开发的适用于 C 和 C++ 库的跨平台开源软件包管理器,它大大简化了 Windows、Linux 和 macOS 上第三方库相关的下载和配置操作,目前已有超过1600个第三方库可以通过vcpkg来安装。它可以实现:自动下载开源库源代码; 一键安装第三方库;源码包的缓存管理和版本管理,可以依需求安装指定的版本;自动检查库的依赖关系并安装其依赖项;无缝集成Visual Studio,不用手动设置任何的库相关的路径;Visual Studio全平台支持,不仅支持Debug/Release、x86/x64编译,还支持UWP、ARM平台的编译。
二、安装教程
安装 vcpkg
首先,请使用 git clone vcpkg 并执行 bootstrap.bat 脚本。 您可以将 vcpkg 安装在任何地方,但是通常我们建议您使用 vcpkg 作为 CMake 项目的子模块,并将其全局安装到 Visual Studio 项目中。 我们建议您使用例如 C:\src\vcpkg 或 C:\dev\vcpkg 的安装目录,否则您可能遇到某些库构建系统的路径问题。
> git clone https://github.com/microsoft/vcpkg
> .\vcpkg\bootstrap-vcpkg.bat
更新 vcpkg
vcpkg 包管理器在 GitHub 上定期更新。 若要将 vcpkg 的克隆更新到最新版本,请从 vcpkg 根目录运行 git pull。 此命令会将 vcpkg 的副本与 GitHub 上的版本同步。 下载完成后,再次运行 bootstrap-vcpkg.bat
脚本。
卸载 vcpkg
若要卸载 vcpkg,只需删除 vcpkg 目录。 删除此目录会卸载 vcpkg 分发以及 vcpkg 已安装的所有库。
但是,如果已执行 vcpkg integrate install
,则应执行 vcpkg integrate remove
来确保在删除文件夹之前已清理集成 。
三、基本使用
命令 | 说明 |
---|---|
vcpkg search [包名] | 搜索可安装的包 |
vcpkg install [包名] | 安装包 |
vcpkg export [包名] --[参数] | 导出包 |
vcpkg remove [包名] | 卸载包 |
vcpkg remove --outdated | 卸载所有过期包 |
vcpkg list | 列出已安装的包 |
vcpkg update | 显示用于更新的包列表 |
vcpkg upgrade | 重新生成所有过期包 |
vcpkg integrate install | 将所安装的包集成到VS |
vcpkg integrate remove | 删除与VS的集成 |
vcpkg integrate project | 为使用单个 VS 项目生成引用 NuGet 包 |
vcpkg cache | 列出缓存的已编译包 |
vcpkg version | 显示版本信息 |
下面将以expat
包为例进行演示:
搜索包
vcpkg search expat
也可前往官网进行搜索:https://vcpkg.io/en/packages.html
安装包
安装 x86 版本
vcpkg install expat
安装 x64 版本(选择其中一种)
vcpkg install expat:x64-windows
vcpkg install expat --triplet=x64-windows
安装静态包
vcpkg install expat:x64-windows-static
导出包
vcpkg export expat:x64-windows-static --raw
vcpkg export expat:x86-windows-static --zip -–output=expat
集成到VS
vcpkg integrate install
四、文件说明
- buildtrees - 包含从中生成每个库的源的子文件夹,一般在xxxx.clean文件夹下。
- docs - 文档和示例。
- downloads - 所有已下载的工具或源的缓存副本。 运行安装命令时,vcpkg 会首先搜索此处。
- installed - 包含每个已安装库的标头和二进制文件。 与 Visual Studio 集成时,实质上是相当于告知它将此文件夹添加到其搜索路径。
- packages - 在不同的安装之间用于暂存的内部文件夹。
- ports - 用于描述每个库的目录、版本和下载位置的文件。 如有需要,可添加自己的端口。
- scripts - 由 vcpkg 使用的脚本(CMake、PowerShell)。
- toolsrc - vcpkg 和相关组件的 C++ 源代码。
- triplets - 包含每个受支持目标平台(如 x86-windows 或 x64-uwp)的设置。
五、常见问题
如下下载缓慢,请设置代理,具体方法见:链接
下载指定版本的包,请参考:链接
参考资料:
https://www.jb51.net/article/272805.htm
http://t.csdn.cn/3cOo9