如何解决Gradle CppCompile:如何迭代工具链属性
我目前正在做一些使用 gradle 构建 c/c++ 项目的实验。 我想使用新的 cpp-library 插件构建一个 c 库(不使用 c/cpp,因为文档声明已弃用)。我需要修改编译器参数来告诉它的 c 代码不是 c++ 代码
示例 1:
tasks.withType(CppCompile::class.java).configureEach {
compilerArgs.addAll(toolChain.map { tc ->
when (tc) {
is Gcc,is Clang -> listOf("-x","c")
is VisualCpp -> listOf("/TC")
else -> listOf()
}
})
}
这个例子有效
示例 2:
tasks.withType(CppCompile::class.java).configureEach {
toolChain.map { tc ->
when (tc) {
is Gcc,is Clang -> compilerArgs.addAll(listOf("-x","c"))
is VisualCpp -> compilerArgs.addAll(listOf("/TC"))
}
}
}
第二个例子有效(它的编译)但它没有将标志添加到 compilerArgs。
从我的角度来看,它是相同的,但以不同的方式编写。有人可以解释一下这里有什么区别吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。