如何link android 可执行.o 文件?
How to link android executable with .o file?
我想 link 我的可执行文件带有 .o 文件,我可以这样做吗?
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := testo
LOCAL_SRC_FILES := main.c
include $(BUILD_EXECUTABLE)
我使用 ld -r -b 二进制数据 -o data.o
创建了 data.o 文件
我有这个代码:
extern int binary_data_size;
int main(){
printf("Data size: %d\n",binary_data_size);
return 0;
}
编译时出现错误:
错误:对 'binary_data_size'
的未定义引用
您可以使用
LD_LIBS += data.o
请注意,Android.mk
最后只是一个 makefile,因此您还可以使用
这一行
data.o: binary data
$(NDK_LD) -r -b binary data -o data.o
ndk-build 评估 Android.mk
而当前目录通常是上一层。您还需要来自当前 NDK 工具链的 ld
可执行文件。
我想 link 我的可执行文件带有 .o 文件,我可以这样做吗?
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := testo
LOCAL_SRC_FILES := main.c
include $(BUILD_EXECUTABLE)
我使用 ld -r -b 二进制数据 -o data.o
创建了 data.o 文件我有这个代码:
extern int binary_data_size;
int main(){
printf("Data size: %d\n",binary_data_size);
return 0;
}
编译时出现错误:
错误:对 'binary_data_size'
的未定义引用您可以使用
LD_LIBS += data.o
请注意,Android.mk
最后只是一个 makefile,因此您还可以使用
data.o: binary data
$(NDK_LD) -r -b binary data -o data.o
ndk-build 评估 Android.mk
而当前目录通常是上一层。您还需要来自当前 NDK 工具链的 ld
可执行文件。