升级Kotlin Multiplatform Compose至1.8.0后Xcode与Fleet构建失败求助
Kotlin Multiplatform Compose 1.8.0升级后iOS构建失败问题
将Kotlin Multiplatform Compose从1.7.3版本升级至1.8.0后,在Xcode和Fleet中构建项目均失败,具体错误信息如下:
ld: warning: ignoring duplicate libraries: '-lc++' ld: warning: object file (/Users/HOX4SGH/Library/Caches/JetBrains/Fleet/backend/kotlin-multiplatform-crib-app.ph9dar8i137vlu0dtq5t/DerivedData/iosApp-bnuyxagdlnjqwncshtbhifmocwhd/Build/Products/Debug-iphonesimulator/ComposeApp.framework/ComposeApp[1709](libicu.icudtl_dat.o)) was built for newer 'iOS-simulator' version (17.2) than being linked (15.3) Undefined symbols for architecture arm64: "_kfun:androidx.compose.runtime#androidx_compose_runtime_ProvidedValue$stableprop_getter$artificial(){}kotlin.Int", referenced from: _kfun:ir.ehsannarmani.compose_charts#ColumnChart(androidx.compose.ui.Modifier?;kotlin.collections.List<ir.ehsannarmani.compose_charts.models.Bars>;ir.ehsannarmani.compose_charts.models.BarProperties?;kotlin.Function1<ir.ehsannarmani.compose_charts.models.Bars.Data,kotlin.Unit>?;kotlin.Function1<ir.ehsannarmani.compose_charts.models.Bars.Data,kotlin.Unit>?;ir.ehsannarmani.compose_charts.models.LabelProperties?;ir.ehsannarmani.compose_charts.models.HorizontalIndicatorProperties?;ir.ehsannarmani.compose_charts.models.DividerProperties?;ir.ehsannarmani.compose_charts.models.GridProperties?;ir.ehsannarmani.compose_charts.models.LabelHelperProperties?;ir.ehsannarmani.compose_charts.models.AnimationMode?;androidx.compose.animation.core.AnimationSpec<kotlin.Float>?;kotlin.Long;androidx.compose.ui.text.TextMeasurer?;ir.ehsannarmani.compose_charts.models.PopupProperties?;kotlin.Float;kotlin.Double;kotlin.Double;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int;kotlin.Int){} in ComposeApp[2930](libComposeCharts:compose-charts-cache.a.o) _kfun:ir.ehsannarmani.compose_charts#RowChart(androidx.compose.ui.Modifier?;kotlin.collections.List<ir.ehsannarmani.compose_charts.models.Bars>;ir.ehsannarmani.compose_charts.models.BarProperties?;kotlin.Function1<ir.ehsannarmani.compose_charts.models.Bars.Data,kotlin.Unit>?;kotlin.Function1<ir.ehsannarmani.compose_charts.models.Bars.Data,kotlin.Unit>?;ir.ehsannarmani.compose_charts.models.LabelProperties?;ir.ehsannarmani.compose_charts.models.VerticalIndicatorProperties?;ir.ehsannarmani.compose_charts.models.LabelHelperProperties?;ir.ehsannarmani.compose_charts.models.DividerProperties?;ir.ehsannarmani.compose_charts.models.GridProperties?;ir.ehsannarmani.compose_charts.models.AnimationMode?;androidx.compose.animation.core.AnimationSpec<kotlin.Float>?;kotlin.Long;androidx.compose.ui.text.TextMeasurer?;ir.ehsannarmani.compose_charts.models.PopupProperties?;kotlin.Float;kotlin.Double;kotlin.Double;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int;kotlin.Int){} in ComposeApp[2930](libComposeCharts:compose-charts-cache.a.o) ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) Build target Pods-iosApp note: Using global toolchain override 'Xcode Default'. (in target 'Pods-iosApp' from project 'Pods') ProcessInfoPlistFile /Users/HOX4SGH/Library/Caches/JetBrains/Fleet/backend/kotlin-multiplatform-crib-app.ph9dar8i137vlu0dtq5t/DerivedData/iosApp-bnuyxagdlnjqwncshtbhifmocwhd/Build/Products/Debug-iphonesimulator/Pods_iosApp.framework/Info.plist /Users/HOX4SGH/Project/Kotlin/kotlin-multiplatform-crib-app/iosApp/Pods/Target\ Support\ Files/Pods-iosApp/Pods-iosApp-Info.plist (in target 'Pods-iosApp' from project 'Pods') cd /Users/HOX4SGH/Project/Kotlin/kotlin-multiplatform-crib-app/iosApp/Pods builtin-infoPlistUtility /Users/HOX4SGH/Project/Kotlin/kotlin-multiplatform-crib-app/iosApp/Pods/Target\ Support\ Files/Pods-iosApp/Pods-iosApp-Info.plist -producttype com.apple.product-type.framework -expandbuildsettings -format binary -platform iphonesimulator -o /Users/HOX4SGH/Library/Caches/JetBrains/Fleet/backend/kotlin-multiplatform-crib-app.ph9dar8i137vlu0dtq5t/DerivedData/iosApp-bnuyxagdlnjqwncshtbhifmocwhd/Build/Products/Debug-iphonesimulator/Pods_iosApp.framework/Info.plist
相关截图



排查与解决建议
- 依赖版本对齐:
- 检查
compose-charts库是否适配Compose Multiplatform 1.8.0,升级该库到最新兼容版本。 - 确保项目中所有Compose相关依赖(
compose-runtime、compose-ui等)统一使用1.8.0版本,避免版本混合导致符号不匹配。
- 检查
- iOS部署目标调整:在Xcode中将项目的iOS Deployment Target设置为17.2或更高,消除版本不兼容警告。
- 清理缓存:
- 删除Xcode DerivedData目录(路径见错误信息)
- 执行
pod deintegrate && pod install清理CocoaPods缓存 - 执行
./gradlew clean清理Kotlin构建缓存
- 架构检查:在Xcode Build Settings中确认
Architectures设置为Standard Architectures (arm64, x86_64),确保与模拟器架构匹配。
内容的提问来源于stack exchange,提问作者eric
相关产品推荐
相关产品推荐

