4

我正在使用 eclipse 创建一个本机 android 项目。它使用opengl es 1.1。

我在使用“gext.h”中定义的函数时遇到问题。我可以使用“gext.h”中定义的宏,但是当我尝试使用“gext.h”中定义的任何函数时,它说它无法解析该函数​​。

我知道 glext.h 已被弃用,但我正在跟随一本书,我想让它工作。我使用了书籍源代码,并且遇到了同样的问题。

如何使用 glext.h 中定义的函数?

4

1 回答 1

2

当您包含头文件时,您只能获得该头文件中的内容。在您的情况下,您将获得完全包含在头文件中的宏和函数声明。那些只是声明函数存在,它不是实际的代码,而是函数定义。

要访问实际函数(定义),您需要链接到库。unresolved functions 错误意味着编译器知道该函数存在,但链接器不知道在哪里找到它。

我认为您的解决方案可能只是链接 OpenGL ES 1.x 库。为此,请检查您的Android.mk文件,并确保设置的行LOCAL_LDLIBS包括-lGLESv1_CM. 像这样:

LOCAL_LDLIBS := -llog -ldl -lGLESv1_CM

它链接了记录器、动态链接器和 OpenGL ES 1.x 库。

我正在从这里获取我的信息。我在 Google 的网站上找不到规范的来源。

于 2012-12-20T15:59:16.503 回答