Android gradle 抱怨对象库有多个输出

问题描述

使用 gradle 6.5 我能够构建一个 cmake 项目,它的目标依赖于一个对象库,比如

add_library(mylib 
            SHARED
            code1.cc
            code2.cc
            $<TARGET_OBJECTS:objlib
           )

使用类似的东西声明对象库

 add_library(objlib
             OBJECT
             src1.cc
             src2.cc
            )

如此有效地将 src1.osrc2.o 拉入 mylib。我无法真正改变这一点(例如,将这些源文件直接放在 add_libraryobjlib 中)。

在 gradle 6.7.1 中,gradle 抱怨目标 objlib 有多个输出,即 src1.osrc2.o

CMakeLists.txt : C/C++ release|armeabi-v7a : 
   Target renderer::@bfc844598bd03e848b3c produces multiple outputs [...]/src1.o,[...]/src2.o 

(为简洁起见编辑了路径)。

我已尝试通过在 mylib 中使用以下内容明确指定我只希望 android 担心 build.gradle 目标:

externalNativeBuild {
     cmake {
          targets "mylib"
     }
}

按照 Gradle fails to build a CMake project with OBJECT libraries because it expects a output file 中的建议,但这不起作用。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)