我尝试使用Android NDK构建LuaJIT作为official guide。但是有些问题发生了。我已经搜索了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
我尽力但不知道。请帮助我,谢谢。
答案 0 :(得分:0)
我已经解决了。看起来像变量引用引起的错误。我只是尝试将所有参数写在一行中,然后才有效。
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。