当我试图用QT5.11和MSVC2017编译器安装QT5.11和MSVC 2017编译器构建一个应用程序时,我遇到了这个错误
C:\Users\IEUser\go\src\company\3dpe\3dpe-materials.cpp:190:错误: C2065:‘GL_几何学_着色’:未声明的标识符
错误发生在下面代码的第二行,请注意,第一行和第3行没有问题,只有第2行是坏的:
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.hgl2.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编译器构建时,是否会发生MinGW编译器的错误。
到目前为止,我还没有想出解决办法,只是觉得有人会帮忙。
发布于 2018-06-03 07:32:53
几何图形着色器是,而不是,在OpenGL ES 3.0中。请参阅OpenGL ES着色语言3.00规范
但几何着色器支持自OpenGL ES 3.2。看见。OpenGL ES阴影语言3.20规范
请参阅进一步的Khronos OpenGL ES登记处。
https://stackoverflow.com/questions/50664195
复制相似问题