icerockdev / kmm.icerock.dev

https://kmm.icerock.dev
24 stars 27 forks source link

Отметить про ошибки несоответствия ABI версий #14

Open Alex009 opened 3 years ago

Alex009 commented 3 years ago
w: skipping /Users/agusev/.gradle/caches/modules-2/files-2.1/dev.icerock.moko/maps-google-iosx64/0.5.2/9413301a7641759224b88a12ea7aa9173a692997/maps-google.klib. The abi versions don't match. Expected '[1.4.1]', found '1.4.2'. The library produced by 1.4.31 compiler
e: Could not find "/Users/agusev/.gradle/caches/modules-2/files-2.1/dev.icerock.moko/maps-google-iosx64/0.5.2/9413301a7641759224b88a12ea7aa9173a692997/maps-google.klib" in [/Users/agusev/Desktop/projects/krohne-android, /Users/agusev/.konan/klib, /Users/agusev/.konan/kotlin-native-prebuilt-macos-1.4.21/klib/common, /Users/agusev/.konan/kotlin-native-prebuilt-macos-1.4.21/klib/platform/ios_x64].

Библиотека подключенная собрана была более новой версией котлина (1.4.31) чем та, что используется для компиляции проекта (1.4.21). Не сошлись версии ABI - Application Binary Interface. Щас у компилятора стараются поддерживать обратную совместимость, но кейс когда более новое компилят старым компилятором никакой обратной совместимостью решиться не может :slightly_smiling_face:

тут либо ты опускаешь версию библиотеки до той, которая скомпилирована 1.4.21 и ниже. либо ты используешь на проекте 1.4.31. никак иначе

Alex009 commented 3 years ago

тоже про ABI несовместимость:

Привет! Правильно ли понимаю, что надо следить за тем, чтобы в каждой подключаемой библиотеке были одинаковые версии тех же самых корутин. При инстале пода получаю ошибку IrTypeAliasSymbol expected: Unbound public symbol for public kotlinx.coroutines В моковской библе обнаружил корутины 1.4.2. Сделал такую же версию в проекте, вроде как собирается. Какой у вас опыт в этом плане?