gpt4 book ai didi

android - LOCAL_LDLIBS 不起作用,但 LOCAL_LDFLAGS 起作用。为什么?

转载 作者:行者123 更新时间:2023-11-30 02:59:34 25 4
gpt4 key购买 nike

我试图在我的应用程序中包含 liblog 以使用 android 日志打印。

我尝试将它包含在 LOCAL_LDLIBS

LOCAL_LDLIBS := -llog

它不起作用。我收到以下错误:

error: undefined reference to '__android_log_print'

我看到很少有应用使用 LOCAL_LDFLAGS。我试过了,它奏效了。为什么? LOCAL_SHARED_LIBRARIES 也可以正常工作。

最佳答案

我没有明确的答案,但我最近遇到了同样的问题,这是我的发现。希望有人来验证。

LOCAL_LDLIBS 和 LOCAL_SHARED_LIBRARIES 都用于链接库。但是,LOCAL_SHARED_LIBRARIES 正在寻找中间对象,如果找不到,则正在重建库。

LOCAL_LDLIBS 期望找到最终的库。

它们都在 SDK 和 NDK 下工作。

我在构建 android 平台时遇到了 LOCAL_LDLIBS 无法工作的问题,或者更具体地说是它的组件之一,相机。LOCAL_LDLIBS 不起作用的原因是它根本没有出现在链接命令中。

即当你在组件文件夹中构建时(在我的例子中是 cameraHAL)mm showcommands(首先在主文件夹中执行 .build/envsetup.sh),链接命令没有指示为 LOCAL_LDLIBS 指定的任何内容。

这是为什么?

我相信逻辑是,在构建 android 时,您应该拥有所有源,因此使用 LOCAL_SHARED_LIBRARIES 是正确的方法。

LOCAL_LDFLAGS 与 LOCAL_LDLIBS。LOCAL_LDFLAGS 用于传递任何标志,而不仅仅是要链接的库,因此它出现在链接命令中。

LOCAL_LDLIBS 仅用于链接库,并且只能在 NDK/SDK 下使用。

关于android - LOCAL_LDLIBS 不起作用,但 LOCAL_LDFLAGS 起作用。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22756435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com