【问题标题】:How to reference a shared object file in multiple modules in Android NDK?如何在 Android NDK 的多个模块中引用共享对象文件?
【发布时间】:2014-05-02 13:20:24
【问题描述】:

我的项目中有一个记录器模块,它已构建为共享对象;以便可以从同一项目中的不同模块中引用它。但是在链接过程中遇到问题。我的文件夹结构是这样的

jni
|- Logger (Folder Logger)
|- Module a(Folder a)
|- Module b(Folder b)
|- Module c(Folder c)

Logger 有 Android.mk 文件并创建了 logger 的共享对象。此记录器模块被模块 a、b 和 c 引用。在编译期间它很好,但在链接期间,在记录器功能的所有模块中出现undefined reference to 错误。我在其他模块的LOCAL_SHARED_LIBRARIES := logger 中引用它们。如果我尝试在模块中包含Logger/Android.mk 文件,则会出现错误module was already defined。我也尝试过包括LOCAL_LDLIBS := -llogger。但没有运气:(。

如果有人解决了这个问题,请告诉我。

谢谢。

【问题讨论】:

    标签: android logging android-ndk shared-libraries


    【解决方案1】:

    不要在多个模块中包含Logger/Android.mk 文件。在父Android.mk file (jni/Android.mk)LOCAL_SHARED_LIBRARIES := logger 中定义的其余模块中包含相同的内容。

    我的错误。我在所有其他模块中也做了include $(LOCAL_PATH)/../Logger/Android.mk

    【讨论】:

      猜你喜欢
      • 2017-03-13
      • 1970-01-01
      • 1970-01-01
      • 2020-07-27
      • 1970-01-01
      • 1970-01-01
      • 2012-03-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多