提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
-
-
- 步骤1:移除vcpkg的全局集成(核心命令)
- 步骤2:清理VS的用户级属性表(全局配置的关键文件)
-
- [2.1 定位属性表文件](#2.1 定位属性表文件)
- [2.2 清空/恢复属性表](#2.2 清空/恢复属性表)
- 步骤3:检查VS全局设置(兜底验证)
- 步骤4:验证效果
- 补充说明(可选)
-
前言
之前电脑中vcpkg好像把配置配到了所有工程,现在电脑通过vs新建任何一个项目都会有之前配置的包含目录、库目录这些,这些目录倒是不影响工程编译,但是链接器 输入 附加依赖项里面也会自动填充之前配置的lib文件信息,现在那些文件早就删除了,,现在应该怎么做把之前vcpkg设置导全局的配置解除掉
要解除vcpkg对VS的全局配置注入,核心是移除vcpkg的全局集成 + 清理VS的用户级属性表(这是全局配置的关键载体),具体步骤如下:
步骤1:移除vcpkg的全局集成(核心命令)
vcpkg的integrate install会将自身配置注入VS全局,需通过反向命令撤销:
-
找到你安装vcpkg的目录(比如
C:\vcpkg),在该目录下打开命令提示符(CMD/PowerShell)(无需管理员)。 -
执行以下命令:
bashvcpkg 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 清空/恢复属性表
-
关闭所有VS实例(必须,否则修改不生效)。
-
用记事本/VS打开上述
.props文件,删除所有vcpkg相关配置(比如<IncludeDirectories>/<LibraryDirectories>/<AdditionalDependencies>里的vcpkg路径、lib文件名)。 -
若不确定哪些是多余的,可直接替换为默认空结构 (备份原文件后操作):
xml<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> </Project> -
保存文件并关闭。
步骤3:检查VS全局设置(兜底验证)
打开VS,手动确认无残留配置:
- 点击顶部菜单:
工具→选项→项目和解决方案→VC++ 目录。- 检查「包含目录」「库目录」「可执行文件目录」,确保只有VS默认路径(如
$(VC_IncludePath);$(WindowsSDK_IncludePath)),无vcpkg相关路径。
- 检查「包含目录」「库目录」「可执行文件目录」,确保只有VS默认路径(如
- (可选)检查链接器全局设置:
- 无全局附加依赖项(VS默认无,若有手动删除)。
步骤4:验证效果
- 新建一个空的C++控制台项目(VS任意版本)。
- 右键项目 →
属性:- 「VC++目录」:包含/库目录为默认值,无自定义vcpkg路径;
- 「链接器 → 输入 → 附加依赖项」:为空(无残留lib文件名);
- 编译项目,无因残留lib路径导致的链接错误,即配置已清除。
补充说明(可选)
- 若仍有残留:检查系统环境变量(
此电脑→属性→高级→环境变量),删除无关的VCPKG_ROOT/VCPKG_DEFAULT_TRIPLET等变量(如需保留vcpkg后续使用,可忽略)。 - 不同VS版本兼容:VS2017/2019/2022的属性表路径完全一致,上述步骤通用。
- 手动集成的情况:若曾手动修改过VS的「全局属性表」(非用户级),需到VS安装目录下的
MSBuild\Microsoft.Cpp\v4.0\<版本号>目录清理,但此场景极少。
通过以上步骤,即可彻底解除vcpkg对VS所有新建项目的全局配置注入。
亲测有效
在别的文章说在项目属性中关闭vcpkg,但是不知怎么回事我的项目属性中都没有vcpkg那一项
这个用着可以