VS2019运行SDV报link.exe退出码1及更新WDK后C1252错误求助
问题1:Windows SDK 19041版本下SDV运行报错
报错现象
- 未修改的默认KMDF USB模板项目正常编译无报错,运行SDV时smvbuild.log出现
link.exe退出码1的错误 - 手动运行link命令提示缺失
%BE%-Intercept.xml文件 - 手动添加环境变量、修改链接器配置后手动link可通过,但SDV运行仍然失败
解决方案
- 确认你添加的
BE、smv两个变量是系统级环境变量,而非当前用户的环境变量,配置完成后重启操作系统确保变量全局生效 - 定位到
C:\Program Files (x86)\Windows Kits\10\Tools\sdv\smv\bin目录,检查是否存在MSBuild-Intercept.xml文件,若缺失可复制同目录下的NMAKE-Intercept.xml,重命名为MSBuild-Intercept.xml即可 - 删除项目根目录下的
sdv缓存文件夹、Release/Debug输出目录,重新启动Visual Studio后再次运行SDV
问题2:SDK/WDK升级到22000版本后SDV报C1252错误
报错现象
默认模板项目SDV运行正常,自有项目运行SDV时smvcl.log提示:
c1 : fatal error C1252: Circular or missing dependency between plugins: 'PREfast Drivers Plugin' requires GUID '{EB170136-3433-4C16-AE1D-8998BA5CAB16}'.
解决方案
- 打开Visual Studio Installer,进入「单个组件」页,搜索「代码分析工具」,确认安装的驱动代码分析组件版本与当前WDK版本完全匹配
- 关闭所有Visual Studio窗口,打开Developer Command Prompt执行命令
devenv /resetuserdata,重置Visual Studio的插件配置后重新启动 - 打开项目属性,进入「代码分析 -> 常规」页,关闭
启用PREfast警告选项,删除项目下的sdv缓存目录后再次运行SDV - 若问题仍存在,检查项目是否启用了第三方代码分析插件,临时禁用所有非系统自带的代码分析插件后重试
内容的提问来源于stack exchange,提问作者Tung
相关产品推荐
相关产品推荐

