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