从控制台可以看出,编译成功
但是错误列表里面却有大量的报错,包括但不限于: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++目录时,发现,里面有一个我设备上不存在的文件夹(这个项目是别的地方拷贝过来的)
而我的代码没用到这个文件夹,这个文件夹又不在我的设备上存在,最终就导致了,编译成功但是大量提示报错的情况。
直接移除,错误消失。