惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
爱范儿
爱范儿
罗磊的独立博客
美团技术团队
Jina AI
Jina AI
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
有赞技术团队
有赞技术团队
V
V2EX
阮一峰的网络日志
阮一峰的网络日志
小众软件
小众软件
IT之家
IT之家
雷峰网
雷峰网
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 司徒正美
大猫的无限游戏
大猫的无限游戏
博客园 - 聂微东
月光博客
月光博客
人人都是产品经理
人人都是产品经理
博客园 - 三生石上(FineUI控件)

博客园 - 夏天/isummer

wsGLCanvas中的OnPaint和OnSize的调用顺序 Visual Studio 2022中配置Eigen.Natvis文件,实现Debug查看:Eigen库查看矩阵与向量的值 “模型法线到视图法线”的变换矩阵(normal matrix)的计算和作用 python 用control库绘制自动控制原理中的根轨迹: C++ 无法从“const char [ ]”转换为“char *” 根据文件内存字节数,返回文件占用内存大小:单位:T,G,M,K,B 泛洪算法(Flood fill Algorithm):符号洪水填充算法 opengl中的glDrawElements 用法和glDrawArray opengl中的VBO,IBO,VAO,EBO总结: OpenGL着色器Shader小结 VS2022 在编译大型项目出现:c/c++ intellance 操作-优化VS2022,提高Intellance速度 用VS2022创建空桌面程序【Empty】运行wxWidgets应用,报错:MSVCRTD.lib(exe_main.obj) : error LNK2019: 无法解析的外部符号 main VS下使用全局配置的方式使用VCPKG vcpkg 安装过程中install的参数: ApriTags应用 【/MT、/MTd、/MD、/MDd】C++ 出现异常“.... \debug_heap.cpp Line:980 Expression:__acrt_first_block==header"【已解决】 - 夏天/isummer QString的tostdstring问题-提示堆栈内存溢出(2024.12) vsftpd和FileZiler配置:本地登录,支持上传-下载-删除文件和目录-添加文件和目录 PyQt开发-mkvirtualenv虚拟环境 线程池ThreadPool, C++ github 命令git下载失败: Failed to connect to github.com port 443 解决方案,解决CMAKE中下载其他库失败的问题
vcpkg的安装,配置vs2022, 全局使用,清单使用
夏天/isummer · 2026-05-28 · via 博客园 - 夏天/isummer

参考:

https://www.cnblogs.com/icmzn/p/18949572

包安装:

  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