2

我希望我的可执行文件能够调用类似 libcuils 支持的函数property_get(...)

在 Android.mk 我有: LOCAL_LDLIBS:=-lcutils

ndk-build返回:未定义的引用property_get

添加 'default.properties'target=android-9并没有帮助。

我在 ubuntu 上使用 android-ndk-r8e。

4

1 回答 1

3

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)
于 2013-05-16T20:13:28.457 回答