vs2022 编译成功但是疯狂报错E1696找不到源文件

从控制台可以看出,编译成功
编译成功信息
但是错误列表里面却有大量的报错,包括但不限于:E1696无法打开源文件,而且打不开的都是标准库文件;错误过多导致智能提示无法工作;等等稀奇古怪的问题

错误(活动)	E2996	错误过多,导致 IntelliSense 引擎无法正常工作。其中一些错误可能在编辑器中不可见。	TestXInspect	D:\Document\GtCode\apps10\packages\TestX\packages\TestXInspect\GeneratedFiles\Debug\moc_OiTestXInspect.cpp	1	
错误(活动)	E1696	无法打开 源 文件 "memory"	TestXInspect	D:\Document\GtCode\apps10\packages\TestX\packages\TestXInspect\GeneratedFiles\Debug\moc_OiTestXInspect.cpp	9	
错误(活动)	E1696	无法打开 源 文件 "intrin.h"	TestXInspect	D:\ProgramFiles\Qt\5.15.2\5.15\msvc_2015_64\include\QtCore\qalgorithms.h	46	
错误(活动)	E1696	无法打开 源 文件 "string.h"	TestXInspect	D:\ProgramFiles\Qt\5.15.2\5.15\msvc_2015_64\include\QtCore\qarraydata.h	44	
错误(活动)	E1696	无法打开 源 文件 "new"	TestXInspect	D:\ProgramFiles\Qt\5.15.2\5.15\msvc_2015_64\include\QtCore\qarraydataops.h	45	
错误(活动)	E1696	无法打开 源 文件 "string.h"	TestXInspect	D:\ProgramFiles\Qt\5.15.2\5.15\msvc_2015_64\include\QtCore\qarraydataops.h	46	
错误(活动)	E1696	无法打开 源 文件 "atomic"	TestXInspect	D:\ProgramFiles\Qt\5.15.2\5.15\msvc_2015_64\include\QtCore\qatomic_cxx11.h	45	
错误(活动)	E1696	无法打开 源 文件 "stdlib.h"	TestXInspect	D:\ProgramFiles\Qt\5.15.2\5.15\msvc_2015_64\include\QtCore\qbytearray.h	48	
错误(活动)	E1696	无法打开 源 文件 "string.h"	TestXInspect	D:\ProgramFiles\Qt\5.15.2\5.15\msvc_2015_64\include\QtCore\qbytearray.h	49	
错误(活动)	E1696	无法打开 源 文件 "stdarg.h"	TestXInspect	D:\ProgramFiles\Qt\5.15.2\5.15\msvc_2015_64\include\QtCore\qbytearray.h	50	

解决思路

首先尝试了其它博客的各种方法,比如删除.vs文件夹,从新安装Windows SDK,但是都没有用。

后来考虑了一下,编译和代码提示是两回事,如果我们用纯命令行的话,可能遇不到这种问题。

编译通过,说明参与编译的代码都是对的,没问题,没参与编译的代码就不在编译器考虑范围内,所以不会被感知。

但是代码提示会查看所有参与编译和没有参与编译的文件,也会读取各种配置,尤其是依赖的头文件路径,不管用没用到,IDE都会解析这些路径。

问题就出在这里,在检查项目属性,VC++目录时,发现,里面有一个我设备上不存在的文件夹(这个项目是别的地方拷贝过来的)

项目属性

而我的代码没用到这个文件夹,这个文件夹又不在我的设备上存在,最终就导致了,编译成功但是大量提示报错的情况。

直接移除,错误消失。

错误消失

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐