android - 在 Android : can't compile because of missing "GLES_CM" 上使用 SDL

标签 android linux gcc sdl

我正在尝试使用 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/

相关文章:

android - 如何在具有不同输入的 TabActivity 中对 3 个不同的选项卡使用相同的 Activity

android - 从自定义布局获取 subview 的句柄

c++ - 尽管使用 -fPIC 进行编译,但链接器错误 "relocation R_X86_64_PC32 against undefined symbol"

c++ - 有没有办法弃用命名空间?

针对 CPU 和内存使用的 GCC 优化

android - Uri.withAppendedPath 方法

android - 将 Arraylist 作为 json 对象的值发送?

linux - 为 jupyter 笔记本安装 Cling 内核时出错

javascript - 有没有办法在Linux上从Electron读取缓存文件?

linux - (*nix) 用于构建快速且可扩展的 Web 服务的云/集群解决方案