使用 NDK、CentOS 时 LuaJIT 构建失败

LuaJIT build failed with NDK, CentOS

我尝试使用 Android NDK 作为 official guide 构建 LuaJIT。但是发生了一些问题。找了2天没解决

这是我的 build.sh:

NDK=/opt/android/ndk
NDKABI=14
NDKVER=$NDK/toolchains/arm-linux-androideabi-4.9
NDKP=$NDKVER/prebuilt/linux-x86_64/bin/arm-linux-androideabi-
NDKF="--sysroot $NDK/platforms/android-$NDKABI/arch-arm"
NDKARCH="-march=armv7-a -mfloat-abi=softfp -Wl,--fix-cortex-a8"
make HOST_CC="gcc -m32" CROSS=$NDKP TARGET_FLAGS="$NDKF $NDKARCH"

我确定 NDK 路径是正确的并且已添加到环境变量中。此外,build.sh 位于正确的位置。并且已经安装了 gcc。当我 运行 和 build.sh 时,发生了一些错误:

==== Building LuaJIT 2.0.5 ====
make -C src
gcc: Command not found/bin/arm-linux-androideabi-
make[1]: Entering directory `/root/LuaJIT-2.0.5/src'
gcc: Command not found/bin/arm-linux-androideabi-
gcc: Command not found/bin/arm-linux-androideabi-
gcc: Command not found/bin/arm-linux-androideabi-
gcc: Command not found/bin/arm-linux-androideabi-
gcc: Command not found/bin/arm-linux-androideabi-
Makefile:254: *** Unsupported target architecture.  Stop.
make[1]: Leaving directory `/root/LuaJIT-2.0.5/src'
make: *** [default] Error 2

我已经尽力了,但不知道。请帮助我,谢谢。

我已经解决了。看起来像是变量引用引起的错误。我只是试着把所有的参数都写在一行里,结果成功了。

make HOST_CC="gcc -m32" CROSS=/opt/android/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi- TARGET_FLAGS="--sysroot=/opt/android/ndk/platforms/android-14/arch-arm -march=armv7-a -mfloat-abi=softfp -Wl,--fix-cortex-a8"

我不太擅长shell所以我到现在都不知道如何使用变量。幸运的是,我已经成功构建了LuaJIT。