0
我正在嘗試構建我的本機代碼以在Android 5.0中定位新的64位ABI。我的32位代碼(包括C和彙編語言)可以正確構建和鏈接。當我嘗試添加彙編語言來我x86_64的構建,我得到以下錯誤:NDK x86_64在嘗試鏈接到x64彙編語言時給出reloc錯誤
E:/android/FIV_Free//obj/local/x86_64/objs/pil_lib/test.o: requires unsupported dynamic reloc 11; recompile with -fPIC
我嘗試添加「-fPIC」的編譯標誌,但它沒有任何效果。
這裏是構建腳本:
ifeq ($(TARGET_ARCH_ABI),x86_64)
LOCAL_CFLAGS := -Wall -D_GCC_ANDROID=1
LOCAL_SRC_FILES := \
pqv_jni.c \
pil_io.c \
pil.c \
test.S \
endif
這裏是的,編譯代碼一個簡單的例子,但會(在test.S)沒有鏈接:
.intel_syntax noprefix
.global myfunction
.data
myprivatedata: .byte 0,1,2,3,4,5,6,7
.text
myfunction:
xor rax,rax
lea rcx,myprivatedata
mov al,[rcx]
ret
.end
感謝您的任何幫助您可以提供
你是正確的:)。謝謝;我一直在Windows上做x64 asm代碼多年,但從未看到有關將其作爲PIC做的信息。 – BitBank