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