2

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」が見つからないと文句を言います。それが何なのか、どこにあるのか途方に暮れています。Google 検索は空で表示されます。のマニュアルページもなく、フラグが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
4

1 に答える 1

1

GLES_CM は OpenGL ES ライブラリの一部です。NDK を使用している場合 - OpenGL は 1.6 ビルドでのみ使用可能になりました。

于 2009-10-18T10:56:28.700 に答える