1、
#elif defined(__APPLE__) || defined(__APPLE_CC__)
/* I can't test this Apple stuff! */
#include <OpenGL/gl.h>
#include <Carbon/Carbon.h>
#define APIENTRY
#elif defined __ANDROID__
#include <GLES2/gl2.h>
#else
#include <GL/gl.h>
#include <GL/glx.h>
#endif
2、#ifndef __ANDROID__
typedef void (APIENTRY * P_SOIL_GLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * data);
P_SOIL_GLCOMPRESSEDTEXIMAGE2DPROC soilGlCompressedTexImage2D = NULL;
#else
#define soilGlCompressedTexImage2D glCompressedTexImage2D
#endif
3、/* unsigned int clamp_mode = SOIL_CLAMP_TO_EDGE; */
/* unsigned int clamp_mode = GL_CLAMP; */
unsigned int clamp_mode = GL_CLAMP_TO_EDGE;
1、设置工具链 :
ARCH_ABI="arm-linux-androideabi-4.8"
HOSTOSN="darwin-x86_64"
export AR="$NDK_ROOT/toolchains/${ARCH_ABI}/prebuilt/${HOSTOSN}/bin/arm-linux-androideabi-ar"
export LD="$NDK_ROOT/toolchains/${ARCH_ABI}/prebuilt/${HOSTOSN}/bin/arm-linux-androideabi-ld"
export CC="$NDK_ROOT/toolchains/${ARCH_ABI}/prebuilt/${HOSTOSN}/bin/arm-linux-androideabi-gcc"
export CXX="$NDK_ROOT/toolchains/${ARCH_ABI}/prebuilt/${HOSTOSN}/bin/arm-linux-androideabi-g++"
#这个rand要设置,要不然就会在ld的时候用了默认的ranlib, 出错:no archive symbol table (run ranlib)
export RANLIB="$NDK_ROOT/toolchains/${ARCH_ABI}/prebuilt/${HOSTOSN}/bin/arm-linux-androideabi-ranlib"
export STRIP="$NDK_ROOT/toolchains/${ARCH_ABI}/prebuilt/${HOSTOSN}/bin/arm-linux-androideabi-strip"
2、设置sysroot,这个是相当于-L -I操作。指定库和源文件
export CPPFLAGS="--sysroot=$NDK_ROOT/platforms/android-19/arch-arm"
export CFLAGS="--sysroot=$NDK_ROOT/platforms/android-19/arch-arm"
android-19/ 这个挑一下你本地有的最新的就好。
可以参考demo