【发布时间】:2023-03-04 10:34:01
【问题描述】:
我在尝试使用带有 Qt 5.11 和 MSVC 2017 编译器的 QtCreator 构建应用程序时遇到此错误,该编译器由 Microsoft Visual Studio Community 2017 安装:
C:\Users\IEUser\go\src\company\3dpe\3dpe-materials.cpp:190: 错误: C2065:“GL_GEOMETRY_SHADER”:未声明的标识符
错误发生在下面代码的第二行,注意第一行和第三行都可以,只有第二行不好:
data[renderer]->vtxShd = addShaderToProgram(vertexShaderSource, GL_VERTEX_SHADER, data[renderer]->shdPrg, renderer);
data[renderer]->geoShd = addShaderToProgram(geometryShaderSource, GL_GEOMETRY_SHADER, data[renderer]->shdPrg, renderer);
data[renderer]->frgShd = addShaderToProgram(fragmentShaderSource, GL_FRAGMENT_SHADER, data[renderer]->shdPrg, renderer);
错误截图如下:
发生错误是因为GL_GEOMETRY_SHADER 未在以下头文件中定义:
gl3.h头文件:
Directory: C:\Qt\Qt5.11.0\5.11.0\winrt_x64_msvc2017\include\QtANGLE\GLES3
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/14/2018 11:28 PM 83875 gl3.h
gl2.h头文件:
Directory: C:\Qt\Qt5.11.0\5.11.0\winrt_x64_msvc2017\include\QtANGLE\GLES2
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/14/2018 11:28 PM 44659 gl2.h
在使用 MinGW 编译器进行构建时,该错误确实不会发生。
到目前为止我还想不出解决方案,只是想有人会帮忙。
【问题讨论】: