в Kotlin Мультиплатформенном проекте Я пытаюсь использовать внешнюю зависимость, и она работает как задумано В ИДЕ. Автозаполнение с элементами библиотеки-пространства имен работает, и ошибок нет. Он также предлагает правильный оператор импорта при использовании членов библиотеки.
Исходные наборы правильно перечисляют библиотеку, и она также отображается в списке "Внешние библиотеки".
Но ./gradlew jvmMainClasses
или любая другая задача компиляции завершается неудачно из-за:
Неразрешенная ссылка: Korge
Это тестовый код, который полностью работает в IDE
import com.soywiz.korge.Korge
fun main() {
val test = Korge
}
Это файл build.gradle:
plugins {
id 'org.jetbrains.kotlin.multiplatform' version '1.3.61'
}
repositories {
jcenter()
maven {
url "https://dl.bintray.com/korlibs/korlibs"
}
mavenCentral()
}
kotlin {
jvm()
js()
sourceSets {
commonMain {
dependencies {
implementation kotlin('stdlib-common')
api ('me.emig:engineEmi:0.22e')
}
}
commonTest {
dependencies {
implementation kotlin('test-common')
implementation kotlin('test-annotations-common')
}
}
}
}
Это вывод:
> Task :compileKotlinJvm FAILED
e: /Users/user/dev/untitled2/src/commonMain/kotlin/main.kt : (1, 25): неразрешенная ссылка: Korge e: /Users/user/dev/untitled2/src/commonMain/kotlin/main.kt: (5, 16): неразрешенная ссылка: Korge
tl; dr Библиотека не работает при компиляции, но в IDE