我使用QtCreator 4.12作为通用C ++ IDE,从发行版的程序包管理器中安装,因此这是一个有关QtCreator使用的通用问题,与Qt无关,也不是从源代码构建QtCreator。
与任何IDE一样,QtCreator会在编写代码时突出显示潜在的错误。在.cpp文件中,如果我写int x = 0
并按Enter,则0将以红色下划线,并且会出现一个工具提示,告诉我我在行尾忘记了;
。
这已被描述为in the QtCreator documentation,但在该文档中找不到关于GLSL的任何内容。
我的实际项目是带有openGl游戏的C ++,我正在QtCreator中编辑我的GLSL着色器。
[阅读this问题的答案,我了解到自openGL 3.3起,所有texture*D()
函数均已弃用,并且必须由推断纹理尺寸的texture()
代替,所以我决定更新着色器。
在QtCreator中,当我使用texture()
函数时,整行用红色加下划线,并且工具提示显示表达式过于复杂,而当我使用texture2D()
(或texture1D()
或其他方式时) ,则该行未带有下划线,如下图所示:
这完全不会阻止我的着色器按设计工作,因此这里没有真正的问题,但这确实令人不安。
我对语法错误检查机制一无所知,而不是在链接的文档页面中所写的,我正在寻找一种更改此机制以接受GLSL 3.3+的方法。我会接受一个答案,告诉我如何将这种特定的误报静音,作为一种解决方法,或者是一种停用.glsl文件的语法错误检查的方法,但我真的更想了解如何调整错误检查机制以接受现代glsl,与旧版glsl一样。
有一个可以解决该问题的补丁,我可以对其进行测试。 GLSL突出显示很可能会在QtCreator的下一版本(4.13)中进行更新,以遵循GLSL规范。