Vcpkg踩坑实录
安装 port 历史版本
如何在 Vcpkg 命令行模式下安装 port 时如何指定版本。
截至 2023-05-22:vcpkg 仅支持在 manifest 模式下指定 port 的版本,在命令行模式下不支持指定 port 版本。
使用 Git 命令查看当前 Vcpkg 仓库的 baseline:
1 | git rev-parse HEAD |
创建vcpkg_json目录,并在该目录下创建vcpkg.json文件(以 openssl 为例):
1 | { |
使用如下命令安装:
1 | vcpkg install --triplet "x64-windows" "--x-manifest-root=D:\vcpkg_json\\" "--x-install-root=D:CODE\vcpkg\installed\\" |
访问 Github 私有仓库
Vcpkg 默认只支持从公共代码仓库进行下载编译,本文介绍如何使用 Vcpkg 从私有仓库进行源码下载/编译/安装。
在 Github 中添加 TOKEN

添加 Windows 环境变量:
VCPKG_KEEP_ENV_VARS值为GITHUB_TOKEN
GITHUB_TOKEN值为第一步生成的 TOKEN
修改 portfile.cmake
在vcpkg\ports目录下,找到对应库的 portfile.cmake 文件,加入AUTHORIZATION_TOKEN参数。
1 | vcpkg_from_github( |
使用仓库的最新代码
在向 Vcpkg 提交 port 时,我们会不断地对仓库进行修改和调试。如果采用REF方式指定源码版本,则需要不断地修改 REF 和 SHA512,调试起来比较繁琐,我们可以采用HEAD_REF的方式来简化调试流程。
在portfile.cmake文件中指定HEAD_REF,如:
1 | vcpkg_from_github( |
安装时指定--head参数:
1 | vcpkg install ashe:x64-windows-static --head |