我正在使用 eclipse 创建一个本机 android 项目。它使用opengl es 1.1。
我在使用“gext.h”中定义的函数时遇到问题。我可以使用“gext.h”中定义的宏,但是当我尝试使用“gext.h”中定义的任何函数时,它说它无法解析该函数。
我知道 glext.h 已被弃用,但我正在跟随一本书,我想让它工作。我使用了书籍源代码,并且遇到了同样的问题。
如何使用 glext.h 中定义的函数?
我正在使用 eclipse 创建一个本机 android 项目。它使用opengl es 1.1。
我在使用“gext.h”中定义的函数时遇到问题。我可以使用“gext.h”中定义的宏,但是当我尝试使用“gext.h”中定义的任何函数时,它说它无法解析该函数。
我知道 glext.h 已被弃用,但我正在跟随一本书,我想让它工作。我使用了书籍源代码,并且遇到了同样的问题。
如何使用 glext.h 中定义的函数?
当您包含头文件时,您只能获得该头文件中的内容。在您的情况下,您将获得完全包含在头文件中的宏和函数声明。那些只是声明函数存在,它不是实际的代码,而是函数定义。
要访问实际函数(定义),您需要链接到库。unresolved functions 错误意味着编译器知道该函数存在,但链接器不知道在哪里找到它。
我认为您的解决方案可能只是链接 OpenGL ES 1.x 库。为此,请检查您的Android.mk
文件,并确保设置的行LOCAL_LDLIBS
包括-lGLESv1_CM
. 像这样:
LOCAL_LDLIBS := -llog -ldl -lGLESv1_CM
它链接了记录器、动态链接器和 OpenGL ES 1.x 库。
我正在从这里获取我的信息。我在 Google 的网站上找不到规范的来源。