android-ndk - 链接器命令失败,退出代码为 1(使用 -v 查看调用)VisualStudio

标签 android-ndk visual-studio-2015 opengl-es-2.0

我在尝试构建我的应用程序时遇到了非常烦人的错误。

这是完整的错误堆栈

Severity    Code    Description Project File    Line
Error       linker command failed with exit code 1 (use -v to see invocation)   PewPew.NativeActivity   c:\workspace\PewPew\PewPew\PewPew.NativeActivity\clang.exe  1
Error       undefined reference to 'glGetAttribLocation'    PewPew.NativeActivity   c:\workspace\PewPew\PewPew\PewPew.NativeActivity\Renderer.cpp   70
Error       undefined reference to 'glCreateProgram'    PewPew.NativeActivity   c:\workspace\PewPew\PewPew\PewPew.NativeActivity\Renderer.cpp   87
Error       undefined reference to 'glAttachShader' PewPew.NativeActivity   c:\workspace\PewPew\PewPew\PewPew.NativeActivity\Renderer.cpp   91
Error       undefined reference to 'glAttachShader' PewPew.NativeActivity   c:\workspace\PewPew\PewPew\PewPew.NativeActivity\Renderer.cpp   92
Error       undefined reference to 'glLinkProgram'  PewPew.NativeActivity   c:\workspace\PewPew\PewPew\PewPew.NativeActivity\Renderer.cpp   93
Error       undefined reference to 'glGetProgramiv' PewPew.NativeActivity   c:\workspace\PewPew\PewPew\PewPew.NativeActivity\Renderer.cpp   96
Error       undefined reference to 'glDeleteProgram'    PewPew.NativeActivity   c:\workspace\PewPew\PewPew\PewPew.NativeActivity\Renderer.cpp   100
Error       undefined reference to 'glCreateShader' PewPew.NativeActivity   c:\workspace\PewPew\PewPew\PewPew.NativeActivity\Renderer.cpp   111
Error       undefined reference to 'glShaderSource' PewPew.NativeActivity   c:\workspace\PewPew\PewPew\PewPew.NativeActivity\Renderer.cpp   115
Error       undefined reference to 'glCompileShader'    PewPew.NativeActivity   c:\workspace\PewPew\PewPew\PewPew.NativeActivity\Renderer.cpp   116
Error       undefined reference to 'glGetShaderiv'  PewPew.NativeActivity   c:\workspace\PewPew\PewPew\PewPew.NativeActivity\Renderer.cpp   119
Error       undefined reference to 'glGetShaderiv'  PewPew.NativeActivity   c:\workspace\PewPew\PewPew\PewPew.NativeActivity\Renderer.cpp   124
Error       undefined reference to 'glDeleteShader' PewPew.NativeActivity   c:\workspace\PewPew\PewPew\PewPew.NativeActivity\Renderer.cpp   128
Error       undefined reference to 'glUseProgram'   PewPew.NativeActivity   c:\workspace\PewPew\PewPew\PewPew.NativeActivity\Renderer.cpp   172
Error       undefined reference to 'glVertexAttribPointer'  PewPew.NativeActivity   c:\workspace\PewPew\PewPew\PewPew.NativeActivity\Renderer.cpp   174
Error       undefined reference to 'glEnableVertexAttribArray'  PewPew.NativeActivity   c:\workspace\PewPew\PewPew\PewPew.NativeActivity\Renderer.cpp   175

嗯,这似乎与 OpenGL 调用有关,但我不明白到底是怎么回事。

我已经包含了

#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
#include <EGL/egl.h>
#include <GLES/gl.h>

但仍然没有运气。

关于我做错了什么有什么建议吗?

最佳答案

好吧,没关系,伙计们,我只是自己想出来的。

出现此问题是因为我正在尝试使用 GLES 2.0 函数,而不是 GLES 1.0(创建新的 NativeActivity 应用程序时默认设置)。所以,基本上您需要做的就是右键单击您的项目并转到 Properties -> Linker -> Input -> Library Dependencies 并将 GLESv1_CM 更改为 GLESv2。

关于android-ndk - 链接器命令失败,退出代码为 1(使用 -v 查看调用)VisualStudio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34002825/

相关文章:

android-ndk - 我想动态压缩android中的视频

Android NDK : make: *** No rule to make target. 停止

opengl - OpenGL ES 2.0 和 OpenGL 4 的区别

ios - 新手 : Drawing an OpenGL ES shape using an ordered vertex array

java - 在 openGL ES 2.0 中高效绘制图元

Android ndk 链接在 libgnuSTL_shared.so 上失败

Android Studio 无法编译,但 gradle cli 可以编译

visual-studio-2015 - Visual Studio不下载NuGet包的DLL

c# - 为什么在c#.NET中 "Enum"编译成功, "enum"编译失败?

c# - Visual Studio 2015 : error building solution