Связывание libcutils с собственным исполняемым файлом
Я хочу, чтобы мой исполняемый файл мог вызывать функции, поддерживаемые libcuils - например, property_get(...)
,
В Android.mk у меня есть:LOCAL_LDLIBS:=-lcutils
ndk-build
возвращает: неопределенная ссылка на property_get
Добавление default.properties target=android-9
не помогло
Я использую Android-ndk-R8e на Ubuntu.
1 ответ
libcutils.so
не является частью официального нативного API, он не распространяется с NDK. Вы можете получить его с любого устройства или даже с эмулятора, и он достаточно стабилен для всех версий и модов, поэтому я не отговариваю вас от его использования.
С другой стороны, компоновщик обычно говорит
ld: error: cannot find -lcutils
collect2: ld returned 1 exit status
Если бы это сказал undefined reference
, он, вероятно, нашел libcutils.so где-то на своем пути поиска. Возможно, это была неправильная библиотека. Может быть, вы установили LOCAL_LDLIBS
для статической библиотеки в вашем Android.mk, и поэтому она игнорируется.
LOCAL_LDLIBS
актуально только для
include $(BUILD_SHARED_LIBRARY)
или же
include $(BUILD_EXECUTABLE)