Я портирую библиотеку C # на Kotlin, чтобы воспользоваться мультиплатформенностью.При запуске задачи build
она не выполняется в подзадаче linkDebugTestLinux
.
Для контекста я использую IDEA Ultimate на Manjaro.Я уверен, что в моем коде нет ничего плохого, поскольку compileKotlinLinux
завершается без ошибок.
Для "linkDebugTestLinux" нет нулевых результатов DDG и ничего полезного для "konan not found home" или "kotlin native ... ".После нескольких часов склейки неполных и устаревших примеров из официальных документов я сдался.
My build.gradle.kts
:
plugins {
kotlin("multiplatform") version "1.3.40"
}
repositories {
mavenCentral()
}
dependencies {
commonMainImplementation("org.jetbrains.kotlin:kotlin-stdlib")
commonTestImplementation("org.jetbrains.kotlin:kotlin-test-common")
commonTestImplementation("org.jetbrains.kotlin:kotlin-test-annotations-common")
}
kotlin {
// js() // wasn't the issue
linuxX64("linux")
}
Вывод задачи build
без аргументов:
> Configure project :
Kotlin Multiplatform Projects are an experimental feature.
> Task :compileKotlinLinux
[...unused param warnings...]
> Task :compileKotlinMetadata
[...unused param warnings...]
> Task :metadataMainClasses
> Task :metadataJar
> Task :assemble
> Task :linuxProcessResources NO-SOURCE
> Task :linuxMainKlibrary
> Task :linkDebugTestLinux FAILED
e: Could not find "/home/username/" in [/home/username/path/to/the/repo, /home/username/.konan/klib, /home/username/.konan/kotlin-native-linux-1.3/klib/common, /home/username/.konan/kotlin-native-linux-1.3/klib/platform/linux_x64].
[...snip...]
BUILD FAILED in 16s
4 actionable tasks: 4 executed
Process 'command '/usr/lib/jvm/java-8-openjdk/bin/java'' finished with non-zero exit value 1
В шаблоне, который я пропустил, предлагается использовать --debug
, поэтому я загрузил здесь .