SMOOTH was not declared in this scope

在Cocos2d-x项目中用到了OpenGL,使用GL_LINE_SMOOTH开启线条抗锯齿。代码如下:

ccDrawColor4B(50, 26, 12, 255);// 设置线宽glLineWidth(2.0f); // 启用线段反锯齿glEnable(GL_LINE_SMOOTH); // 画第一条线ccDrawLine(startPoint1,endPoint);// 画第二条线ccDrawLine(startPoint2,endPoint);// 关闭线段反锯齿glDisable(GL_LINE_SMOOTH);使用NDK编译Android工程时提示error: ‘GL_LINE_SMOOTH’ was not declared in this scope

开发环境说明:

引擎版本

Cocos2d-x2.2.1

开发工具

Visual Studio 2012

Android NDKr9

系统

windows7

error: ‘GL_LINE_SMOOTH’ was not declared in this scope,表示GL_LINE_SMOOTH没有找到定义。

1.于是打开cocos2d.h,找到Android平台下与OpenGL相关的头文件CCGL.h

2.CCGL.h中包含了gl2.h和gl2ext.h两个头文件,<>中的头文件表示优先在系统路径下查找

于是就到ndk路径下查找该文件,,这两个头文件都在GLES2目录下,该目录下包含OpenGL ES2.0相关的头文件

查看gl2.h和glext.h后并没有找到GL_LINE_SMOOTH的定义,表示这个可能定义在OpenGL ES1.0相关的头文件

3.于是到GLES目录下去查找

于是在gl.h头文件中找到了GL_LINE_SMOOTH的定义

4.在Android平台下的CCGL.h头文件中#include <GLES/gl.h>就可以解决这个问题了

寂寞时,想想我的影子,我会在远方给你一个微笑;难过时,

SMOOTH was not declared in this scope

相关文章:

你感兴趣的文章:

标签云: