c++ - 克隆使用 vcpkg 的项目时如何安装软件包
问题描述
我正在尝试 vcpkg 包管理器,但我遇到了一些问题。我有一个使用 cmake 和 vcpkg 的 c++ 项目,并使用 vcpkg 来安装 cache2 包。现在一切正常,但是一旦我推送项目并克隆它,我就找不到如何恢复已安装的软件包。
我所做的是这样的:
- 安装 vcpkg 作为子模块
- 使用 vcpkg 安装 cache2
- 将cache2添加到cmake
直到这里,当我推送和克隆项目时,一切正常。
- git clone --recurse-submodules
- .\extern\vcpkg\bootstrap-vcpkg.bat
- vcpkg 列表
现在好像什么都没有安装,也不希望大家克隆的时候把所有的包都一一安装。克隆时是否有办法自动安装所有软件包?
解决方案
我找到了一个使用 vcpkg 清单的不错的解决方案,它仍然是一个实验性功能,但我还没有遇到任何问题。为了使用清单,请执行以下操作:
- 在您的根文件夹中添加一个包含以下内容的 vcpkg.json 文件:
{
"name": "projectname", // should be lowercase, uppercase will give an error
"version-string": "0.1.0",
"dependencies": [ // add here your dependencies you would normally install with vcpkg install [package name]
"catch2"
]
}
- 运行:vcpkg install --feature-flags=manifests,这将安装阵列中的所有依赖项。
为了删除包,只需从列表中删除依赖项并运行上述命令。
推荐阅读
- mysql - SQL Amazon BIE 面试题 客户表
- tensorflow - tf.cast() 导致我的程序反向传播失败,我该如何解决这个问题?
- python - Python 的“追加”文件写入模式是只写入新字节,还是重写整个文件?
- java - 关于 BEAM "planCalcScore" 中的 "performing",MatSim 上的一个扩展
- python - pytesseract 无法识别数字 1
- python - 在派生的python类中导入模块
- javascript - 如何写入函数以检查用户输入的时间长度
- javascript - onmouseover -mouseout 图片
- javascript - 搜索栏使用 Express 获取请求
- javascript - Firebase 多张图片上传然后调用函数