2012-09-13 3 views
2

일반적으로 pseudo-op: '.private_extern' 어셈블러 오류를 해결하는 방법에 대한 정보는 mac에서 LuaJit을 빌드하거나 팁을 참조하십시오.Mac에서 Android 용 LuaJit 2 컴파일. 어셈블러 오류 : lj_vm.s : 5 : 오류 : 알 수없는 의사 연산 :`.private_extern '

내가 문서에 LuaJit2을 complie 맥과 다음 명령에 AM/설치하거나 http://luajit.org/install.html#android : 내가 만든

유일한 변화는 NDK 크로스 컴파일러를 얻을 수 darwin-x86linux-x86을 변경하는 것입니다. "호스트 OS와 대상 OS가 다를 때마다 TARGET_SYS을 지정하거나 어셈블러 또는 링커 오류가 발생합니다 ..."

그래서 내 빌드 스크립트 다음과 같습니다 r8b NDK

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 점. 그러나 r8r7도 시도했으며 gcc 4.6r8b을 시도했습니다. 모든 경우에 비슷한 오류가 발생합니다.

 
==== 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

들으을 실행 청소하려면 :

는 이러한 이유로 당신은 같은 오류를 많이 보았다. 윈도우 호스트에서 안드로이드 용으로 컴파일 할 때 루아 짓 (Luajit) 빌드 프로세스에서 약간의 오류가 있었다. 귀하의 게시물은 내가 Luajit CROSS 및 TARGET_FLAGS로 전달한 경로를 다시 생각하게했습니다. 나는 Cygwin에서/cygdrive/c가되어야한다고 생각했다. 나는 틀렸어. c :/android ndk가 원했던 gcc 길 이었어. – Wojciech

답변

0

아무런 문제없이 LuaJIT 2.0.0-beta10을 구축 할 수있었습니다. 게시 된 문제는 베타 9 이하를 구축 할 때 발생했습니다. 문제가 무엇이든지간에 패치를 적용한 것처럼 보입니다.

2

확실하지 않지만 처음 빌드 할 때 TARGET_SYS=Linux을 잊어 버렸을 때 파일이 빌드 실패 후 src/host 디렉토리에 있습니다. Error: unknown pseudo-op: '.private_extern'

모든 생성 및 사례 파일이이 질문에 대한 make clean