在 OpenGL ES 示例中找不到"esUtil.h"

Can't find the "esUtil.h" in an OpenGL ES example

本文关键字:找不到 esUtil OpenGL ES      更新时间:2023-10-16

在学习了OpenGL的一些基础知识之后,我深入研究了OpenGL es api。我试图用这个例子在OpenGL ES:https://www.khronos.org/assets/uploads/books/openglr_es_20_programming_guide_sample.pdf 中画一个三角形。

在代码中,作者包含文件"esUtil.h",但我无法从任何官方来源找到它。我尝试使用 EGL 和 GLES 3 库在谷歌上复制某个项目的"esUtil.h"文件,但程序仍然根本无法运行。帮帮我,我错过了什么?

这些是我在构建解决方案时遇到的错误:

Severity    Code    Description Project File    Line    Suppression State
Error   LNK2019 unresolved external symbol __imp__glAttachShader@8 referenced in function "int __cdecl Init(struct ESContext *)" (?Init@@YAHPAUESContext@@@Z)   OpenGLES_Example    D:WorkSpaceVisual StudiomyOpenGLSamplesOpenGLES_ExampleSource.obj  1   
Error   LNK2019 unresolved external symbol __imp__glCompileShader@4 referenced in function "unsigned int __cdecl LoadShader(unsigned int,char const *)" (?LoadShader@@YAIIPBD@Z)    OpenGLES_Example    D:WorkSpaceVisual StudiomyOpenGLSamplesOpenGLES_ExampleSource.obj  1   
Error   LNK2019 unresolved external symbol __imp__glCreateProgram@0 referenced in function "int __cdecl Init(struct ESContext *)" (?Init@@YAHPAUESContext@@@Z)  OpenGLES_Example    D:WorkSpaceVisual StudiomyOpenGLSamplesOpenGLES_ExampleSource.obj  1   
Error   LNK2019 unresolved external symbol __imp__glCreateShader@4 referenced in function "unsigned int __cdecl LoadShader(unsigned int,char const *)" (?LoadShader@@YAIIPBD@Z) OpenGLES_Example    D:WorkSpaceVisual StudiomyOpenGLSamplesOpenGLES_ExampleSource.obj  1   
Error   LNK2019 unresolved external symbol __imp__glDeleteProgram@4 referenced in function "int __cdecl Init(struct ESContext *)" (?Init@@YAHPAUESContext@@@Z)  OpenGLES_Example    D:WorkSpaceVisual StudiomyOpenGLSamplesOpenGLES_ExampleSource.obj  1   
Error   LNK2019 unresolved external symbol __imp__glDeleteShader@4 referenced in function "unsigned int __cdecl LoadShader(unsigned int,char const *)" (?LoadShader@@YAIIPBD@Z) OpenGLES_Example    D:WorkSpaceVisual StudiomyOpenGLSamplesOpenGLES_ExampleSource.obj  1   
Error   LNK2019 unresolved external symbol __imp__glEnableVertexAttribArray@4 referenced in function "void __cdecl Draw(struct ESContext *)" (?Draw@@YAXPAUESContext@@@Z)   OpenGLES_Example    D:WorkSpaceVisual StudiomyOpenGLSamplesOpenGLES_ExampleSource.obj  1   
Error   LNK2019 unresolved external symbol __imp__glGetProgramiv@12 referenced in function "int __cdecl Init(struct ESContext *)" (?Init@@YAHPAUESContext@@@Z)  OpenGLES_Example    D:WorkSpaceVisual StudiomyOpenGLSamplesOpenGLES_ExampleSource.obj  1   
Error   LNK2019 unresolved external symbol __imp__glGetProgramInfoLog@16 referenced in function "int __cdecl Init(struct ESContext *)" (?Init@@YAHPAUESContext@@@Z) OpenGLES_Example    D:WorkSpaceVisual StudiomyOpenGLSamplesOpenGLES_ExampleSource.obj  1   
Error   LNK2019 unresolved external symbol __imp__glGetShaderiv@12 referenced in function "unsigned int __cdecl LoadShader(unsigned int,char const *)" (?LoadShader@@YAIIPBD@Z) OpenGLES_Example    D:WorkSpaceVisual StudiomyOpenGLSamplesOpenGLES_ExampleSource.obj  1   
Error   LNK2019 unresolved external symbol __imp__glGetShaderInfoLog@16 referenced in function "unsigned int __cdecl LoadShader(unsigned int,char const *)" (?LoadShader@@YAIIPBD@Z)    OpenGLES_Example    D:WorkSpaceVisual StudiomyOpenGLSamplesOpenGLES_ExampleSource.obj  1   
Error   LNK2019 unresolved external symbol __imp__glLinkProgram@4 referenced in function "int __cdecl Init(struct ESContext *)" (?Init@@YAHPAUESContext@@@Z)    OpenGLES_Example    D:WorkSpaceVisual StudiomyOpenGLSamplesOpenGLES_ExampleSource.obj  1   
Error   LNK2019 unresolved external symbol __imp__glShaderSource@16 referenced in function "unsigned int __cdecl LoadShader(unsigned int,char const *)" (?LoadShader@@YAIIPBD@Z)    OpenGLES_Example    D:WorkSpaceVisual StudiomyOpenGLSamplesOpenGLES_ExampleSource.obj  1   
Error   LNK2019 unresolved external symbol __imp__glUseProgram@4 referenced in function "void __cdecl Draw(struct ESContext *)" (?Draw@@YAXPAUESContext@@@Z)    OpenGLES_Example    D:WorkSpaceVisual StudiomyOpenGLSamplesOpenGLES_ExampleSource.obj  1   
Error   LNK2019 unresolved external symbol __imp__glVertexAttribPointer@24 referenced in function "void __cdecl Draw(struct ESContext *)" (?Draw@@YAXPAUESContext@@@Z)  OpenGLES_Example    D:WorkSpaceVisual StudiomyOpenGLSamplesOpenGLES_ExampleSource.obj  1   
Error   LNK2019 unresolved external symbol _esCreateWindow referenced in function "int __cdecl esMain(struct ESContext *)" (?esMain@@YAHPAUESContext@@@Z)   OpenGLES_Example    D:WorkSpaceVisual StudiomyOpenGLSamplesOpenGLES_ExampleSource.obj  1   
Error   LNK2019 unresolved external symbol _esRegisterDrawFunc referenced in function "int __cdecl esMain(struct ESContext *)" (?esMain@@YAHPAUESContext@@@Z)   OpenGLES_Example    D:WorkSpaceVisual StudiomyOpenGLSamplesOpenGLES_ExampleSource.obj  1   
Error   LNK2019 unresolved external symbol _esRegisterShutdownFunc referenced in function "int __cdecl esMain(struct ESContext *)" (?esMain@@YAHPAUESContext@@@Z)   OpenGLES_Example    D:WorkSpaceVisual StudiomyOpenGLSamplesOpenGLES_ExampleSource.obj  1   
Error   LNK2019 unresolved external symbol _esLogMessage referenced in function "int __cdecl Init(struct ESContext *)" (?Init@@YAHPAUESContext@@@Z) OpenGLES_Example    D:WorkSpaceVisual StudiomyOpenGLSamplesOpenGLES_ExampleSource.obj  1   
Error   LNK2019 unresolved external symbol _main referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ)   OpenGLES_Example    D:WorkSpaceVisual StudiomyOpenGLSamplesOpenGLES_ExampleMSVCRTD.lib(exe_main.obj)   1   
Error   LNK1120 20 unresolved externals OpenGLES_Example    D:WorkSpaceVisual StudiomyOpenGLSamplesDebugOpenGLES_Example.exe   1   

这些错误不是包含文件的问题,而是链接的问题。这些符号表示您缺少OpenGL ES库(glAttachShader等),以及示例代码中的一些函数(似乎来自esUtil.c)。

如果您按照教程中的下载链接进行操作,它们将指向此处。您可以考虑只克隆git存储库,然后从中工作。至少,esUtil.h文件在那里,你还需要将esUtil.c编译到你的项目中,因为其中一些符号丢失了。