我正在使用 Visual Studio Community 2017,但此版本中的本机活动与 Visual Studio Community 2015 中的相同。
我刚刚在 Visual Studio 2017 中创建了一个新的本机活动项目,使用与此项目选项一起加载的默认程序。但是,每当我尝试使用专用于打开 gl es 2 的函数时,Visual Studio 都会针对我使用的每个打开的 gl es 2 函数返回一个错误,例如“错误:未定义对‘glCreateShader’的引用”。奇怪的是,即使我删除了 pch 文件中包含 open gl es 1 的行,以下代码仍然有效:
glClearColor(200, 200, 200, 1);
glClear(GL_COLOR_BUFFER_BIT);
如果将以下函数放入默认的原生活动项目中(即使在包含 GLES2/gl2.h、GLES2/gl2ext.h 和 GLES2/gl2platform.h 之后)会导致上述错误:
int prepareShader(GLuint shaderType, const char * shaderCode) {
GLuint shader = glCreateShader(shaderType);
int len = strlen(shaderCode);
glShaderSource(shader, 1, &shaderCode, &len);
}
我记得在 Android Studio 中发生了类似的错误,通过将以下内容添加到 cmakelists.txt 来修复该错误:
find_library(gl-lib
GLESv2 )
find_library(egl-lib
EGL )
target_link_libraries( # Specifies the target library.
native-lib
${egl-lib}
${gl-lib})
但是,我的 Visual Studio 项目不使用 CMake。
有人可以告诉我如何在 Visual Studio 2017 中成功使用 open gl es 2 吗?