Android 将libcutils链接到本机可执行文件
我希望我的可执行文件能够调用libcuils支持的函数,比如Android 将libcutils链接到本机可执行文件,android,android-ndk,Android,Android Ndk,我希望我的可执行文件能够调用libcuils支持的函数,比如property\u get(…) 在Android.mk中,我有: LOCAL\u LDLIBS:=-lcutils ndk build返回: 对属性的未定义引用\u get 用target=android-9添加'default.properties'没有帮助 我在ubuntu上使用的是android-ndk-r8e。libcutils。因此不是官方原生API的一部分,它不随ndk一起发布。您可以从任何设备甚至模拟器中获取它,而且它
property\u get(…)
在Android.mk中,我有:
LOCAL\u LDLIBS:=-lcutils
ndk build
返回:
对属性的未定义引用\u get
用target=android-9
添加'default.properties'没有帮助
我在ubuntu上使用的是android-ndk-r8e。
libcutils。因此
不是官方原生API的一部分,它不随ndk一起发布。您可以从任何设备甚至模拟器中获取它,而且它在各个版本和mod中都相当稳定,所以我不会阻止您使用它
另一方面,链接器通常会说
ld: error: cannot find -lcutils
collect2: ld returned 1 exit status
如果它说未定义引用
,它可能在搜索路径的某个地方找到了libcutils.so。也许,这是一个错误的图书馆。也许,您在Android.mk中为静态库设置了LOCAL\u LDLIBS
,因此它被忽略
本地\u LDLIBS
仅与
include $(BUILD_SHARED_LIBRARY)
或
关于最后一部分,我知道这一点,我正在使用include$(BUILD\u EXECUTABLE)进行构建。我会试试你的想法(从我的设备上复制libcutil),我会告诉你结果。谢谢你在哪买的libcutils?a以前?我没有。第一次:)那么,您得到了“找不到-lcutils”和“未定义的引用”?不,只有“未定义的引用…”
include $(BUILD_EXECUTABLE)