在mac上编译LuaJit 2适用于Android。汇编器错误:lj_vm.s:5:错误:未知伪操作:`.private_extern'。

请就在Mac上构建Android LuaJit提供建议,或解决一般情况下的“伪操作:'.private_extern'”汇编错误。我遵循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”,以及使用“r8b”和“gcc 4.6”。在所有情况下,我都遇到了类似的错误。====正在构建LuaJIT 2.0.0-beta9 ==== make -C src ASM lj_vm.o lj_vm.s:汇编器消息: lj_vm.s:5:错误:未知的伪操作:.private_extern' lj_vm.s:8:错误:未知的伪操作:.private_extern' lj_vm.s:25:错误:未知的伪操作:`.private_extern'```

点赞
用户1241709
用户1241709

我能够毫无问题地构建LuaJIT 2.0.0-beta10。之前建造beta9或更低版本时出现了问题:看起来他们修补了任何可能的问题。

2012-09-13 23:23:58
用户902217
用户902217

我不确定,但我认为当你尝试第一次构建而没有使用 TARGET_SYS=Linux 时,你忘记清理 src/host 目录中不成功构建的 *.o 文件。

因此,你会看到许多类似错误的消息:Error: unknown pseudo-op: '.private_extern'

要清除所有生成和构建的文件,请运行 make clean

2014-11-20 15:28:23