请告知有关在Mac上构建android LuaJit或一般解决pseudo-op: '.private_extern'
汇编程序错误的提示。
我在Mac上并按照说明在doc / install或http://luajit.org/install.html#android中编译LuaJit2:
我做的唯一更改是将linux-x86
更改为darwin-x86
以获得NDK
交叉编译器。我还在每个安装说明中添加了TARGET_SYS=Linux
(我尝试过和不使用):“每当主机操作系统和目标操作系统不同时,您需要指定TARGET_SYS
,否则您将获得汇编程序或链接程序错误......”
所以我的构建脚本如下所示:
NDK=$ANDROID_NDK
NDKABI=8
NDKVER=$NDK/toolchains/arm-linux-androideabi-4.4.3
NDKP=$NDKVER/prebuilt/darwin-x86/bin/arm-linux-androideabi-
NDKF="--sysroot $NDK/platforms/android-$NDKABI/arch-arm"
make HOST_CC="gcc -m32" CROSS=$NDKP TARGET_SYS=Linux TARGET_FLAGS="$NDKF"
我的$ANDROID_NDK
指向r8b NDK
。但我也尝试了r8
和r7
,并尝试使用gcc 4.6
r8b
。在所有情况下,我都会遇到类似的错
==== Building LuaJIT 2.0.0-beta9 ==== make -C src ASM lj_vm.o lj_vm.s: Assembler messages: lj_vm.s:5: Error: unknown pseudo-op: `.private_extern' lj_vm.s:8: Error: unknown pseudo-op: `.private_extern' lj_vm.s:25: Error: unknown pseudo-op: `.private_extern' …
答案 0 :(得分:2)
我不确定,但我认为当您尝试在没有TARGET_SYS=Linux
的情况下第一次构建时,在构建失败后忘记了*.o
目录中的干净src/host
文件。
出于这个原因,您发现了许多错误,例如:Error: unknown pseudo-op: '.private_extern'
要清除所有生成和构建的文件,请运行make clean
答案 1 :(得分:0)
我能够毫无问题地构建LuaJIT 2.0.0-beta10。发布的问题是在构建beta9或更低版本时:看起来他们修补了它的问题。