问题描述
使用 gradle 6.5 我能够构建一个 cmake 项目,它的目标依赖于一个对象库,比如
add_library(mylib
SHARED
code1.cc
code2.cc
$<TARGET_OBJECTS:objlib
)
使用类似的东西声明对象库
add_library(objlib
OBJECT
src1.cc
src2.cc
)
如此有效地将 src1.o
和 src2.o
拉入 mylib
。我无法真正改变这一点(例如,将这些源文件直接放在 add_library
的 objlib
中)。
在 gradle 6.7.1 中,gradle 抱怨目标 objlib
有多个输出,即 src1.o
和 src2.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 (将#修改为@)