You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin Native使用readln函数报错退出值3,求解决方案

解决Kotlin Native中readln()运行报错退出值3的问题

原因分析

Windows环境下,IDEA运行Kotlin Native debug可执行文件时,默认未分配交互式控制台,readln()尝试读取标准输入失败,导致程序返回非零退出值3。直接赋值跳过输入读取能正常执行,也验证了这一问题根源。

解决方案

1. 手动执行可执行文件

找到编译生成的exe路径:E:\codes\ktNative\build\bin\native\debugExecutable\ktNative.exe,可通过两种方式运行:

  • 直接双击该exe文件
  • 打开CMD或PowerShell,切换到该目录后执行:
    .\ktNative.exe
    
    此时程序会在交互式终端中等待输入,readln()可正常工作。

2. 修改IDEA运行配置

  • 打开IDEA的Run/Debug Configurations面板
  • 找到对应的Kotlin Native运行项
  • 在Configuration标签页中,勾选Run in terminal选项
  • 保存配置后重新运行,IDEA会调用系统终端启动程序,支持交互式输入。

3. 确认Gradle目标平台配置

检查build.gradle.kts中的Kotlin Native目标平台是否为Windows适配的mingwX64,示例配置:

plugins {
    kotlin("multiplatform") version "1.9.0"
}

kotlin {
    mingwX64("native") {
        binaries {
            executable {
                entryPoint = "main"
            }
        }
    }
    sourceSets {
        val nativeMain by getting
    }
}

错误的平台配置可能导致输入输出异常,确保目标平台与Windows环境匹配。

内容的提问来源于stack exchange,提问作者Biee Sky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 12:56:06