如何将android可执行文件与.o文件相关联?

时间:2015-02-21 12:44:45

标签: android-ndk

我想将我的可执行文件与.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 binary data -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'

1 个答案:

答案 0 :(得分:1)

您可以使用

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可执行文件。