参考:
https://www.cnblogs.com/icmzn/p/18949572
vcpkg指令
|
包安装: export 创建已安装端口的独立部署 install 安装包 remove 卸载包 x-set-installed 安装、升级或删除包,以便包与提供的包完全匹配 upgrade 重新生成所有过时的包
包发现: x-check-support 测试在不生成端口的情况下是否支持端口 depend-info 显示端口的依赖项列表 list 列出安装的库 owns 在安装的包中搜索文件的所有者 x-package-info 显示有关包的详细信息 portsdiff 区分提交之间端口版本中的更改 search 搜索可生成的包 update 列出可升级的包
包操作: add 将依赖项添加到清单 x-add-version 将版本添加到版本数据库 create 新建端口 edit 编辑端口,可以选择使用 %EDITOR%,默认为“代码” env 创建用于开发或编译的干净 shell 环境 format-manifest Prettyfies vcpkg.json hash 获取文件的 SHA256 或 SHA512 x-init-registry 创建空白 GIT 注册表 new 新建清单 x-update-baseline 将清单中 git 注册表的基线更新为这些注册表的 HEAD提交
其他: ci 尝试生成用于 CI 测试的所有端口 x-ci-verify-versions 检查版本数据库的完整性 contact 显示联系人信息以发送反馈 fetch 从系统或 Internet 提取内容 integrate 将 vcpkg 与计算机、项目或 shell 集成
有关更多帮助: help topics 显示帮助主题的完整列表 帮助 <topic> 显示特定帮助主题 help commands 显示命令的完整列表,包括此处未列出的罕见命令 帮助 <command> 显示 <command> 的帮助详细信息 |
1 – 安装并设置 vcpkg
指定位置下载:
git clone https://github.com/microsoft/vcpkg.git
运行启动脚本
现在,你已经克隆了 vcpkg 存储库,请导航到 vcpkg 目录并执行启动脚本:
.\bootstrap-vcpkg.bat
vcpkg 已安装并可供使用。
配置环境变量:
VCPKG_ROOT= D:\AINSTALLLIBs\vcpkg
设置 VCPKG_ROOT 可帮助 Visual Studio 查找 vcpkg 实例。 将它添加到 PATH 确保可以直接从 shell 运行 vcpkg 命令。
同时添加到:Path里
在VS2022工具的:命令行中,
验证:是否是安装的vcpkg
2 - 设置 Visual Studio 项目:确保在VS2022中显示vcpkg
(1)集成
PS D:\AINSTALLLIBs\vcpkg> .\vcpkg.exe integrate install
Applied user-wide integration for this vcpkg root.
CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=D:/AINSTALLLIBs/vcpkg/scripts/buildsystems/vcpkg.cmake
All MSBuild C++ projects can now #include any installed libraries. Linking will be handled automatically. Installing new libraries will make them instantly available.
这样才能确保:项目属性继承了vcpkg的选项。
(2)关闭vs2022原生的vcpkg的工具。
避免:原生的vcpkg和外部安装的vcpkg的冲突
3- 设置 Visual Studio 项目:全局使用
此源文件包含属于 <fmt/core.h> 库的 fmt 标头。 main() 函数调用 fmt::print() 将 "Hello World!" 消息输出到控制台。
由于没有安装fmt库,因此提示:头文件不存在。
在VS2022工具的:命令行中,
验证:是否是安装的vcpkg
安装:fmt库
Vcpkg install fmt
检查是否安装:vcpkg list
自动识别头文件
点击运行:
4. :清单模式使用
参考:
https://learn.microsoft.com/zh-cn/vcpkg/get_started/get-started-msbuild?pivots=shell-powershell
(1)在项目配置中打开:清单模式打开
此时:打开清单模式,则不适用全局的vcpkg库,因此代码提示找不到。
在VS2022的工具的:控制台窗口,输入:
运行以下命令来创建 vcpkg 清单文件 (vcpkg.json):
vcpkg new --application
多了2个文件,这是清单文件vcpkg.json。
vcpkg 读取清单文件,以了解要安装和与 MSBuild 集成的依赖项,从而提供项目所需的依赖项。
生成的 vcpkg-configuration.json 文件引入了一个基线,用于对项目的依赖项设置最低版本约束。 修改此文件超出了本教程的范围。 虽然在本教程中不适用,但建议将 vcpkg-configuration.json 文件保留在源代码管理之下,以确保不同开发环境中的版本一致性。
其中:vcpkg.json是添加的项目级别的库的配置
添加 fmt 包作为依赖项,只能使用以下方式,将fmt库添加到端口中。
vcpkg add port fmt
(1) 运行项目:
原理:如果 MSBuild 检测到 vcpkg.json 文件并在项目中启用了清单,作为预生成步骤,MSBuild 会安装清单的依赖项。 依赖项安装在项目的生成输出目录的 vcpkg_installed 目录中。 可以直接使用库安装的任何标头,安装的任何库将自动关联。
由于git的无法访问:
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890
因此:自动安装vcpkg.json中的添加的库的port
不再报错。
同样运行成功
或者:在项目根目录下,创建vcpkg.json文件
{ "name": "codex3d", "version-string": "0.1.0", "dependencies": [ "wxwidgets", "glew", "imgui" ] }执行:
vcpkg install --triplet x64-windows则自动安装清单的vcpkg的局部项目级的依赖的库
5. 更改镜像源
项目临时使用:
以管理员打开 PowerShell,运行:
$env:VCPKG_REGISTRIES_OVERRIDE="https://gitee.com/microsoft/vcpkg"
参考:
https://learn.microsoft.com/zh-cn/vcpkg/get_started/get-started-msbuild?pivots=shell-powershell
浙公网安备 33010602011771号