news 2026/6/24 3:12:19

解除vcpkg对VS的全局配置注入

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
解除vcpkg对VS的全局配置注入

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
      • 步骤1:移除vcpkg的全局集成(核心命令)
      • 步骤2:清理VS的用户级属性表(全局配置的关键文件)
        • 2.1 定位属性表文件
        • 2.2 清空/恢复属性表
      • 步骤3:检查VS全局设置(兜底验证)
      • 步骤4:验证效果
      • 补充说明(可选)

前言

之前电脑中vcpkg好像把配置配到了所有工程,现在电脑通过vs新建任何一个项目都会有之前配置的包含目录、库目录这些,这些目录倒是不影响工程编译,但是链接器 输入 附加依赖项里面也会自动填充之前配置的lib文件信息,现在那些文件早就删除了,,现在应该怎么做把之前vcpkg设置导全局的配置解除掉


要解除vcpkg对VS的全局配置注入,核心是移除vcpkg的全局集成+清理VS的用户级属性表(这是全局配置的关键载体),具体步骤如下:

步骤1:移除vcpkg的全局集成(核心命令)

vcpkg的integrate install会将自身配置注入VS全局,需通过反向命令撤销:

  1. 找到你安装vcpkg的目录(比如C:\vcpkg),在该目录下打开命令提示符(CMD/PowerShell)(无需管理员)。
  2. 执行以下命令:
    vcpkg integrate remove
    执行成功会提示:Removed all vcpkg integrations.,表示已解除vcpkg对VS的全局绑定。

步骤2:清理VS的用户级属性表(全局配置的关键文件)

VS的所有新建项目会默认加载用户级全局属性表(.props文件),vcpkg集成时会修改这些文件,需手动清理:

2.1 定位属性表文件

不同VS版本的文件路径通用(替换<你的用户名>为实际Windows用户名,比如Administrator):

  • x64平台(最常用):
    C:\Users\<你的用户名>\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.x64.user.props
  • x86平台(若用过32位编译):
    C:\Users\<你的用户名>\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props

快速定位:打开文件资源管理器,粘贴路径%LOCALAPPDATA%\Microsoft\MSBuild\v4.0\到地址栏,直接进入目录。

2.2 清空/恢复属性表
  1. 关闭所有VS实例(必须,否则修改不生效)。
  2. 用记事本/VS打开上述.props文件,删除所有vcpkg相关配置(比如<IncludeDirectories>/<LibraryDirectories>/<AdditionalDependencies>里的vcpkg路径、lib文件名)。
  3. 若不确定哪些是多余的,可直接替换为默认空结构(备份原文件后操作):
    <?xml version="1.0" encoding="utf-8"?><ProjectDefaultTargets="Build"xmlns="http://schemas.microsoft.com/developer/msbuild/2003"></Project>
  4. 保存文件并关闭。

步骤3:检查VS全局设置(兜底验证)

打开VS,手动确认无残留配置:

  1. 点击顶部菜单:工具选项项目和解决方案VC++ 目录
    • 检查「包含目录」「库目录」「可执行文件目录」,确保只有VS默认路径(如$(VC_IncludePath);$(WindowsSDK_IncludePath)),无vcpkg相关路径。
  2. (可选)检查链接器全局设置:
    • 无全局附加依赖项(VS默认无,若有手动删除)。

步骤4:验证效果

  1. 新建一个空的C++控制台项目(VS任意版本)。
  2. 右键项目 →属性
    • 「VC++目录」:包含/库目录为默认值,无自定义vcpkg路径;
    • 「链接器 → 输入 → 附加依赖项」:为空(无残留lib文件名);
  3. 编译项目,无因残留lib路径导致的链接错误,即配置已清除。

补充说明(可选)

  • 若仍有残留:检查系统环境变量(此电脑→属性→高级→环境变量),删除无关的VCPKG_ROOT/VCPKG_DEFAULT_TRIPLET等变量(如需保留vcpkg后续使用,可忽略)。
  • 不同VS版本兼容:VS2017/2019/2022的属性表路径完全一致,上述步骤通用。
  • 手动集成的情况:若曾手动修改过VS的「全局属性表」(非用户级),需到VS安装目录下的MSBuild\Microsoft.Cpp\v4.0\<版本号>目录清理,但此场景极少。

通过以上步骤,即可彻底解除vcpkg对VS所有新建项目的全局配置注入。


亲测有效
在别的文章说在项目属性中关闭vcpkg,但是不知怎么回事我的项目属性中都没有vcpkg那一项
这个用着可以

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 16:10:24

75、探索 FreeBSD 边缘:NanoBSD 与 FreeSBIE 构建指南

探索 FreeBSD 边缘:NanoBSD 与 FreeSBIE 构建指南 1. NanoBSD 构建基础 1.1 构建选项注意事项 在构建 NanoBSD 时,某些构建选项可能会产生不良影响。例如, WITHOUT_SETUID_LOGIN 会对登录产生负面影响, WITHOUT_SYMVER 会移除符号版本控制,导致无法在 NanoBSD 镜像中…

作者头像 李华
网站建设 2026/6/23 10:14:32

76、FreeSBIE定制与FreeBSD系统崩溃处理全解析

FreeSBIE定制与FreeBSD系统崩溃处理全解析 1. FreeSBIE配置与定制 1.1 基础配置变量 在FreeSBIE的配置中,有一些基础变量需要关注: - MAKEOBJDIRPREFIX="/usr/freesbie/obj" :虽然可以设置该变量以提供单独的FreeSBIE构建区域,但不建议这样做。因为许多she…

作者头像 李华
网站建设 2026/6/24 4:43:56

77、FreeBSD系统崩溃处理与问题报告提交指南

FreeBSD系统崩溃处理与问题报告提交指南 在使用FreeBSD系统时,系统崩溃和恐慌(panic)是令人头疼的问题。本文将详细介绍系统崩溃后的处理方法,包括内核转储、获取回溯信息、考虑安全问题,以及如何提交有效的问题报告。 系统崩溃后的操作 当系统出现崩溃和恐慌时,会输出…

作者头像 李华
网站建设 2026/6/23 20:37:23

78、FreeBSD:问题报告与社区贡献指南

FreeBSD:问题报告与社区贡献指南 1. 问题报告(PR)的关键部分——Fix 在提交问题报告(PR)时,“Fix” 是最重要的部分。如果你有修复问题的补丁,或者有解决问题的变通方法,又或者发现了关于解决问题的任何信息,都应放在这部分。有时,不寻常的修复方法或条件能为解决问…

作者头像 李华
网站建设 2026/6/23 17:36:51

79、一些有趣的sysctl MIBs

一些有趣的sysctl MIBs 在系统管理中,sysctl MIBs(管理信息库)是非常重要的工具,它们可以帮助我们对系统进行各种配置和调整。但需要注意的是,随意使用sysctl可能会轻易损坏或破坏一个正常运行的系统。例如,如果将资源使用限制设置得低于当前所需的值,可能会导致进程或…

作者头像 李华
网站建设 2026/6/23 22:26:00

80、FreeBSD技术全解析:系统管理、网络配置与性能优化

FreeBSD技术全解析:系统管理、网络配置与性能优化 1. 系统基础与配置 1.1 符号与数字相关 在系统配置中,许多符号和数字有着特定的含义。例如,在crontabs里,星号(*)用于表示时间设置,可实现灵活的任务调度;美元符号($)用于环境字段中的用户名设置,像$BLOCKSIZE环…

作者头像 李华