У Android NDK есть дополнительные файлы объектов, такие как crtbegin_static.oКак определить расположение объектных файлов в GCC?
Как определить местоположение этих объектных файлов в GCC во время компиляции?
спасибо.
У Android NDK есть дополнительные файлы объектов, такие как crtbegin_static.oКак определить расположение объектных файлов в GCC?
Как определить местоположение этих объектных файлов в GCC во время компиляции?
спасибо.
Это было задано раньше, но ответы не показывают подробные шаги. В основном вам нужно преобразовать файл .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)
Я нашел решение. Я должен был определить --sysroot = "...", например:
LDFLAGS="-Lc:/Thirdparty/Android/NDK/platforms/android-5/arch-arm/usr/lib \
--sysroot=c:/Thirdparty/Android/NDK/platforms/android-5/arch-arm"