Visual Studio 2022因缺失lnk{...}.tmp文件导致C++项目重复重建
问题:C++项目每次生成均强制重新编译,因临时文件缺失触发
现象说明
- 每次点击「生成解决方案」,无论代码是否有变更,目标项目
project_name.vcxproj(Release x64配置)及所有依赖项目都会重新生成 - 将生成输出详细级别改为Diagnostics后,定位到触发原因:临时文件缺失,日志如下:
1>------ 最新状态检查: 项目: project_name.vcxproj, 配置: Release x64 ------
1>项目不是最新状态: 生成输出文件'c:\path\appdata\local\temp\lnk{24e28c62-71a7-43ad-81e2-9b34157645b4}.tmp'缺失
1>------ 生成开始: 项目: project_name, 配置: Release x64 ------
- 临时文件名中的GUID每次生成都会随机变化
已尝试但无效的解决方法
- 删除.suo文件
- 删除系统临时文件夹、VS缓存及相关设置
- 重新安装Visual Studio 2022
补充信息:链接器VERBOSE输出(已翻译)
Build started... 1>------ 生成开始: 项目: project_name, 配置: Release x64 ------ 1>正在调用 cvtres.exe: 1> /machine:amd64 1> /verbose 1> /out:"C:\Users\path\AppData\Local\Temp\lnk{01385313-5798-4F09-8223-983424FE6954}.tmp" 1> /readonly 1> "C:\Dev\dev\ws2\build\Release_x64\i\project_name\name-of-dll.res" 1>Microsoft (R) Windows 资源转对象转换器 版本 14.30.30711.1 1>版权所有 (C) Microsoft Corporation。保留所有权利。 1> 1>正在添加资源。类型:VERSION, 名称:1, 语言:0x0407, 标志:0x30, 大小:576
内容的提问来源于stack exchange,提问作者user19254034
相关产品推荐
相关产品推荐

