查看: 2344|回复: 5

求助!osg osgAndroidExampleGLES2 编译失败,出现很多Gl没有定义的错误

[复制链接]

该用户从未签到

发表于 2012-8-15 15:43:17 | 显示全部楼层 |阅读模式
我在ubuntu上已编译好整个for android的静态库出来,cmake的命令如下:
cmake .. -DOSG_BUILD_PLATFORM_ANDROID=ON -DDYNAMIC_OPENTHREADS=OFF -DDYNAMIC_OPENSCENEGRAPH=OFF -DOSG_GL_DISPLAYLISTS_AVAILABLE=OFF -DOSG_GL_MATRICES_AVAILABLE=OFF -DOSG_GL_VERTEX_FUNCS_AVAILABLE=OFF -DOSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE=OFF -DOSG_GL_FIXED_FUNCTION_AVAILABLE=OFF -DOSG_CPP_EXCEPTIONS_AVAILABLE=OFF -DOSG_GL1_AVAILABLE=OFF -DOSG_GL2_AVAILABLE=OFF -DOSG_GL3_AVAILABLE=OFF-DOSG_GLES1_AVAILABLE=OFF -DOSG_GLES2_AVAILABLE=ON -DANDROID_NDK=$NDK

但是在编译osgAndroidExampleGLES2,出现大量找不到定义的错。看上去是gles的头文件没有找到。

/home/pengao/project/openglcode/OpenSceneGraph-3.0.1/OpenSceneGraph-3.0.1/include/osg/FrameBufferObject:164: error: 'GLint' has not been declared
/home/pengao/project/openglcode/OpenSceneGraph-3.0.1/OpenSceneGraph-3.0.1/include/osg/FrameBufferObject:164: error: 'GLbitfield' has not been declared
/home/pengao/project/openglcode/OpenSceneGraph-3.0.1/OpenSceneGraph-3.0.1/include/osg/FrameBufferObject:164: error: 'GLenum' has not been declared
/home/pengao/project/openglcode/OpenSceneGraph-3.0.1/OpenSceneGraph-3.0.1/include/osg/FrameBufferObject:165: error: 'GLenum' has not been declared
/home/pengao/project/openglcode/OpenSceneGraph-3.0.1/OpenSceneGraph-3.0.1/include/osg/FrameBufferObject:165: error: 'GLenum' has not been declared
/home/pengao/project/openglcode/OpenSceneGraph-3.0.1/OpenSceneGraph-3.0.1/include/osg/FrameBufferObject:165: error: 'GLint' has not been declared
/home/pengao/project/openglcode/OpenSceneGraph-3.0.1/OpenSceneGraph-3.0.1/include/osg/FrameBufferObject:176: error: ISO C++ forbids declaration of 'TglCheckFramebufferStatus' with no type
/home/pengao/project/openglcode/OpenSceneGraph-3.0.1/OpenSceneGraph-3.0.1/include/osg/FrameBufferObject:176: error: expected ';' before '*' token
/home/pengao/project/openglcode/OpenSceneGraph-3.0.1/OpenSceneGraph-3.0.1/include/osg/FrameBufferObject:209: error: 'GLenum' has not been declared
/home/pengao/project/openglcode/OpenSceneGraph-3.0.1/OpenSceneGraph-3.0.1/include/osg/FrameBufferObject:219: error: 'GLenum' does not name a ty


下面是osgAndroidExampleGLES2 中的Android.mk
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := osgNativeLib
### Main Install dir
OSG_ANDROID_DIR        := /home/pengao/project/openglcode/OpenSceneGraph-3.0.1/OpenSceneGraph-3.0.1/build
OSG_INCLUDE_DIR        := /home/pengao/project/openglcode/OpenSceneGraph-3.0.1/OpenSceneGraph-3.0.1
LIBDIR                         := $(OSG_ANDROID_DIR)/obj/local/armeabi

ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
        LOCAL_ARM_NEON         := true
        LIBDIR                         := $(OSG_ANDROID_DIR)/obj/local/armeabi-v7a
endif

### Add all source file names to be included in lib separated by a whitespace

LOCAL_C_INCLUDES:= $(OSG_INCLUDE_DIR)/include
LOCAL_CFLAGS    := -Werror -fno-short-enums
LOCAL_CPPFLAGS  := -DOSG_LIBRARY_STATIC

LOCAL_LDLIBS    := -llog -lGLESv2 -lz -ldl
LOCAL_SRC_FILES := osgNativeLib.cpp OsgMainApp.cpp OsgAndroidNotifyHandler.cpp
LOCAL_LDFLAGS   := -L $(LIBDIR) \

还请大侠们帮帮忙指导下。

ndk用的是:r7

该用户从未签到

发表于 2012-8-15 16:23:52 | 显示全部楼层
我编译的时候没有指定
OSG_INCLUDE_DIR  
LOCAL_LDLIBS 改为 -llog -lGLESv2 -lz -lgnustl_static
Application.mk中指定
APP_PLATFORM         := android-8

该用户从未签到

 楼主| 发表于 2012-8-15 16:36:16 | 显示全部楼层
xuhaiyan8825 发表于 2012-8-15 16:23
我编译的时候没有指定
OSG_INCLUDE_DIR  
LOCAL_LDLIBS 改为 -llog -lGLESv2 -lz -lgnustl_static

非常感谢!编译通过了,可以运行了。

该用户从未签到

发表于 2012-8-21 10:53:48 | 显示全部楼层
xuhaiyan8825 发表于 2012-8-15 16:23
我编译的时候没有指定
OSG_INCLUDE_DIR  
LOCAL_LDLIBS 改为 -llog -lGLESv2 -lz -lgnustl_static

例子跑起来是不是只有蓝色背景跟下面三个按钮吗?除了这个没有其他的模型吗?

该用户从未签到

发表于 2012-8-21 17:14:54 | 显示全部楼层
houhouh 发表于 2012-8-21 10:53
例子跑起来是不是只有蓝色背景跟下面三个按钮吗?除了这个没有其他的模型吗?

是的,但是有菜单,你按平板的菜单键,可以使用 L.OBJECT功能来加载模型

该用户从未签到

发表于 2012-8-22 09:47:39 | 显示全部楼层
xuhaiyan8825 发表于 2012-8-21 17:14
是的,但是有菜单,你按平板的菜单键,可以使用 L.OBJECT功能来加载模型

奥~我找到了~谢谢啊,可以加载.ive的文件。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表