Android是個(gè)好系統(tǒng)哇,特別是Android NDK r3出來(lái)以后,可以用OpenGL ES 2.0了。
自己也試了試用NDK編一個(gè)OpenGL ES 2.0的程序,可是,編譯的時(shí)候出現(xiàn)了一大堆錯(cuò)。

如圖,滿屏幕都是 undefined reference to 那些OpenGL ES函數(shù)。
看來(lái)是庫(kù)文件沒有鏈接進(jìn)來(lái)。
這是NDK例子里的Android.mk的寫法:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libgl2jni
LOCAL_CFLAGS := -Werror
LOCAL_SRC_FILES := gl_code.cpp
LOCAL_LDLIBS := -llog -lGLESv2
include $(BUILD_SHARED_LIBRARY)
問題就出在用紅色標(biāo)出的那行。
把那句修改為:
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog
LOCAL_LDLIBS+=-L$(SYSROOT)/usr/lib -lGLESv2
就可以正常編譯了。
還有一些注意點(diǎn)是:
編譯程序前要clean,否則編譯會(huì)出錯(cuò);
每次更新了自己的.so文件后,在eclipse的那個(gè)java項(xiàng)目里要記著refresh一下。