使用 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
for 中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
(为简洁而编辑的路径)。
我试图通过在我的以下内容中明确指定我只希望 android 担心mylib
目标build.gradle
:
externalNativeBuild {
cmake {
targets "mylib"
}
}