Kotlin - 多平台功能

8
我目前正在尝试使用Kotlin多平台功能并遇到了一个小问题。当我在Intellij中启动gradle多平台项目并使用关键词"actual"和"expect"时,它们会被用红色下划线标注,并显示消息“该功能“多平台项目”是实验性的,应该明确启用”。
如何明确启用多平台功能? 谢谢

@MarkoTopolnik不起作用,抛出消息“在类型为org.jetbrains.kotlin.gradle.dsl.ExperimentalExtension的对象上找不到方法multiplatform()的参数[enable]。” - P. Habzansky
无论如何,这都是一次尝试,类比于启用实验性协程。 - Marko Topolnik
@MarkoTopolnik 我知道,我也看到了,这可能是最合理的选择。 - P. Habzansky
3个回答

12

终于找到了答案。在Intellij中,打开Preferences->Build, Execution, Deployment->Compiler->Kotlin Compiler,将命令-Xmulti-platform添加到Additional command line parameters:字段中。

在此输入图片描述


当您创建一个多平台项目时,IDE 应该自动添加它...也许在 YouTrack 上提出问题? - Marko Topolnik
这对我有所帮助,但我还必须将“use project settings”更改为true。请参见此处:https://dev59.com/PKnka4cB1Zd3GeqPJidH - grooveplex
1
在AS上我没有这个选项,我会通过gradle添加该选项。 - ademar111190

2
如果你正在使用Gradle,你可以通过在`build.gradle.kts`中的编译器参数中添加`-Xmulti-platform`标志来启用多平台功能。
tasks {
    compileKotlin {
        kotlinOptions.freeCompilerArgs += "-Xmulti-platform"
    }
}

-1

可以通过在gradle.properties文件中添加以下行来抑制此警告

kotlin.mpp.stability.nowarn=true

这里是完整的项目属性文件,供参考

kotlin.code.style=official
xcodeproj=./iosApp
android.useAndroidX=true
kotlin.mpp.enableGranularSourceSetsMetadata=true
kotlin.native.enableDependencyPropagation=false
kotlin.mpp.stability.nowarn=true

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接