我正在尝试使用 C 在 Android 上使用 OpenGL。我正在关注这个优秀的教程,但我碰壁了。
我在 Linux Mint 7(Ubuntu 9.04 分支)上使用 ARM 编译器(arm-none-linux-gnueabi-ld)。
我可以将编译后的二进制文件复制到 Android 模拟器,它可以运行。但是当我自己尝试时make
,我收到以下错误:
knight666@Desktop-Linux ~/Android/Test $ make
( for f in src; do ( cd $f ; make all ) || exit 1 ; done )
make[1]: Map '/home/knight666/Android/Test/src' wordt binnengegaan
arm-none-linux-gnueabi-ld --entry=_start --dynamic-linker ../../system/bin/linker -nostdlib -rpath ../../system/lib -rpath ../../system/lib -L ../../system/lib -lm -lc -lui -lGLES_CM main.o start.o -o ../test1
arm-none-linux-gnueabi-ld: cannot find -lGLES_CM
make[1]: *** [test1] Fout 1
make[1]: Map '/home/knight666/Android/Test/src' wordt verlaten
make: *** [all] Fout 1
它抱怨找不到“GLES_CM”。我不知道那是什么以及在哪里可以找到它。谷歌搜索是空的。也没有手册页arm-none-linux-gnueabi-ld
,我无法弄清楚该-l
标志是什么或做什么。
以前有没有人做过这种事情,或者你能帮我理解我做错了什么吗?
提前致谢。
Ps 这是我编写的一个小脚本,用于在 Android 模拟器中复制和运行已编译的二进制文件:
#!/bin/sh
FILEPATH=`dirname $1`
adb push $FILEPATH/$1 /system/sbin/$1
adb shell chmod 777 /system/sbin/$1
adb shell /system/sbin/$1