如何在Visual Studio 2019中屏蔽Qt头文件的IntelliSense警告
解决VS2019中Qt头文件的IntelliSense警告问题
别担心,我刚接触VS+Qt的时候也被这个问题折腾过,给你几个简单易操作的方案,一步步跟着来就行:
方案1:直接让IntelliSense忽略Qt的include目录
这是最彻底的方法,适合不想看到任何Qt头文件引发的IntelliSense警告:
- 右键你的项目,选择「属性」
- 在左侧面板展开「C/C++」,点击「常规」选项
- 找到「IntelliSense 排除目录」,点击右侧的编辑按钮(那个小铅笔图标)
- 在弹出的窗口里,点击「添加」,然后手动输入你的Qt include路径,比如
Qt\5.13.0\msvc2017\include;或者点击「浏览」找到这个文件夹直接添加 - 注意要选对当前的配置(Debug/Release)和平台(x86/x64),如果需要所有配置都生效,可以点击属性窗口顶部的「配置」下拉框,选择「所有配置」,再重复上面的步骤
- 点击确定,重启Visual Studio(有时候需要重启才能让IntelliSense的设置生效)
方案2:忽略「外部依赖项」虚拟目录
如果你不想单独找Qt的目录,也可以直接屏蔽整个「外部依赖项」的IntelliSense检查:
- 在VS的「解决方案资源管理器」里,找到「外部依赖项」这个虚拟文件夹
- 右键它,选择「属性」
- 在弹出的属性窗口中,找到「从IntelliSense中排除」选项,把它改成「是」
- 点击确定,重启VS即可生效
方案3:用#pragma临时屏蔽单个头文件的警告
如果只是个别Qt头文件引发警告,不想全局排除的话,可以用这个方法:
在你引入Qt头文件的地方,加上警告保存和恢复的指令:
#pragma warning(push, 0) // 保存当前警告级别,暂时禁用所有警告 #include <QtWidgets/QMainWindow> #include <QtWidgets/QTreeWidget> #pragma warning(pop) // 恢复之前的警告级别
这样这几个Qt头文件里的IntelliSense警告就不会显示了,其他代码的警告还是正常提示。
小提示
修改项目属性时,一定要确认当前的配置(Debug/Release)和平台是否和你正在使用的一致,不然设置可能只对某个配置生效哦。
内容的提问来源于stack exchange,提问作者C. Binair




