Visual studio 2012中针对包含系统变量的IntelliSense问题

Facing IntelliSense Issue in Visual studio 2012 for includes with system variable

本文关键字:变量 系统 IntelliSense 问题 包含 studio 2012 Visual      更新时间:2023-10-16

我将带有多个项目的c++解决方案从VS2010迁移到VS2012。项目引用了路径设置为系统变量的库。

应用程序正在编译并运行。但是Intellisense报告库中所有符号和标头的错误。在解决方案资源管理器的"外部依赖项"节点中,它不显示第三方库的头文件。具有硬编码和相对路径的头文件没有这个问题。

当右键单击Header声明打开头文件时,它会显示项目中通过条带化环境变量值指定的所有路径。例如。如果包含路径为"C:\QT\Includes;..\..\VISLIB\Inc;$(PROBAL_SHT_LIB)\V18.05\Inc",则它将显示消息"在…中找不到文件'XX.h"。。。。。。。生成系统路径:C: \QT\包括;..\。。\VISLIB\Inc公司;\V18.05\neneneba公司。并剥离$(PROBAL_SHT_LIB)。

还注意到,如果我设置了新的系统变量,那么它就不会显示在"宏"中。或者代码未使用VS2012进行编译。使VS2012识别此变量。我需要重新启动电脑

这在VS2010中运行良好。

您应该知道intellisense所使用的前端/解析器与实际编译器所使用的不同。它们并不总是同步更新,而且它们通常具有不同级别的功能完整性和不同的bug。因此,intellisense抱怨真正的编译器处理得很好的完全有效的代码并不罕见。这当然不太好,但这是事实,除了微软之外,没有人能做任何事情