【问题标题】:Kotlin - Multi platform featureKotlin - 多平台功能
【发布时间】:2018-02-18 13:12:16
【问题描述】:

我目前正在使用 Kotlin 多平台功能,但遇到了一个小问题。当我在 Intellij 中启动 gradle 多平台项目并使用关键字 'actual' 和 'expect' 时,它们带有红色下划线并显示消息““多平台项目”功能是实验性的,应该明确启用”

如何显式启用多平台功能? 谢谢

【问题讨论】:

  • @MarkoTopolnik 不起作用,抛出消息“在 org.jetbrains.kotlin.gradle.dsl.ExperimentalExtension 类型的对象上找不到参数 [enable] 的方法 multiplatform()。”
  • 无论如何,这类似于启用实验性协程。
  • @MarkoTopolnik 我知道,我也看到了,这可能是最有意义的

标签: javascript jvm kotlin multiplatform


【解决方案1】:

终于找到答案了。在 Intellij 中 Preferences->Build, Execution, Deployment->Compiler->Kotlin Compiler 附加到 Additional command line parameters: field command -Xmulti-platform em>。

【讨论】:

  • IDE 应该在您创建多平台项目时自动添加它...也许会在 YouTrack 上引发问题?
  • 这对我有帮助,但我还必须将“使用项目设置”更改为 true。见这里:stackoverflow.com/questions/48852066/…
  • 因为我没有这个选项,我会通过gradle添加选项。
【解决方案2】:

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

kotlin.mpp.stability.nowarn=true

这里有完整的 project.properies 文件供参考

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

【讨论】:

    【解决方案3】:

    如果您使用 Gradle,您可以通过在 build.gradle.kts 的编译器参数中添加 -Xmulti-platform 标志来启用多平台功能:

    tasks {
        compileKotlin {
            kotlinOptions.freeCompilerArgs += "-Xmulti-platform"
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-05
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 2021-07-03
      • 1970-01-01
      • 2021-03-30
      • 2020-05-04
      相关资源
      最近更新 更多