Мне была предоставлена общая библиотека, построенная на Linux x86, назовем ее libA.so, и я хочу использовать вызовы функций, предоставляемые этой библиотекой SDK.Android NDK: Связывание общей библиотеки x86
Я имею вопросы строительства и есть несколько вопросов:
1) Я буду иметь возможность строить для x86, но я смогу построить для руки? Я считаю, что ответ отрицательный, то есть я не могу работать на Nexus 5, например. 2) ndk-build жалуется на #include, который должен быть разрешен с помощью LOCAL_SHARED_LIBRARIES. Я не знаю, почему это так. Мой Android.mk выглядит следующим образом:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := B
LOCAL_SRC_FILES := B.cpp
LOCAL_SHARED_LIBRARIES := A
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
Может кто-нибудь помочь мне решить мою Android.mk? Я не понимаю, почему он жалуется на мой оператор включения в B.cpp. Пожалуйста, дайте мне знать, могу ли я запустить B в рабочей среде, хотя SDK, на который я полагаюсь, был построен на x86.
Вы можете разместить ошибку вы получаете? Кроме того, вы можете уточнить: у вас есть только двоичная версия libA.so, скомпилированная для x86, и нет исходного кода для libA.so, и вы хотите иметь код в своем собственном B.cpp, который вызовет функцию из libA.so ? –
Да, вы правы! – Jary316