標籤:
在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>就可以解決這個問題了
【Cocos2d-x】編譯Android工程時提示error: 'GL_LINE_SMOOTH' was not declared in this scope