Android NDK还有一些其他目标文件,如crtbegin_static.o
如何在编译期间将目标文件的位置定义到GCC?
谢谢。
答案 0 :(得分:0)
以前曾经问过,但答案并没有详细说明。基本上,您需要将.o文件转换为静态库,然后在构建脚本中将其链接。
使用如下的终端命令转换.o文件:
ar rcs somefile.a somefile.o somefile2.o somefile3.o
然后在你的Android.mk中,在文件顶部添加此部分(在LOCAL_PATH:= ...行之后):
include $(CLEAR_VARS)
LOCAL_MODULE := somelib
LOCAL_SRC_FILES := somefile.a
include $(PREBUILT_STATIC_LIBRARY)
然后在构建主模块的底部:
LOCAL_STATIC_LIBRARIES := somelib
include $(BUILD_SHARED_LIBRARY)
答案 1 :(得分:0)
我找到了解决方案。我不得不定义--sysroot =" ...",像这样:
LDFLAGS="-Lc:/Thirdparty/Android/NDK/platforms/android-5/arch-arm/usr/lib \
--sysroot=c:/Thirdparty/Android/NDK/platforms/android-5/arch-arm"