作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试使用 C 在 Android 上使用 OpenGL。我正在关注这个 excellent tutorial ,但我碰壁了。
我在 Linux Mint 7(Ubuntu 9.04 分支)上使用 ARM 编译器 (arm-none-linux-gnueabi-ld)。
我可以将编译后的二进制文件复制到 Android 模拟器,它可以运行。但是,当我尝试自己制作
时,出现以下错误:
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”。我不知道那是什么以及在哪里可以找到它。 Google 搜索结果为空。 arm-none-linux-gnueabi-ld
也没有手册页,我不知道 -l
标志是什么或做什么。
以前有没有人做过这种事情,或者你能帮我理解我做错了什么吗?
提前致谢。
附言这是我编写的一个小脚本,用于在 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
最佳答案
GLES_CM 是 OpenGL ES 库的一部分。如果您使用的是 NDK - OpenGL 仅在 1.6 版本中可用。
关于android - 在 Android : can't compile because of missing "GLES_CM" 上使用 SDL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1575306/
我正在尝试使用 C 在 Android 上使用 OpenGL。我正在关注这个 excellent tutorial ,但我碰壁了。 我在 Linux Mint 7(Ubuntu 9.04 分支)上使用
我是一名优秀的程序员,十分优秀!