Kotlin/MultiplatformでHello World

Kotlin/MultiplatformでHello Worldしてみる。


環境

  • Windows 10 64bit
  • IntelliJ IDEA 2021.1.1 (Community Edition)
  • Kotlin plugin 1.5.0

プロジェクトの作成

  • 「New Project…」を開く

  • Gradleを選ぶ
  • Kotlin DSL build script を有効にする
  • Kotlin/Multiplatform を有効にする

  • プロジェクト名と保存フォルダなどを指定する

build.gradle.ktsの編集

build.gradle.ktsの kotlin{…} 節に以下を挿入

    mingwX64(){
        binaries {
            executable()
        }
    }

Gradle sync

ウィンドウ内部の右上らへんに表示される象とリロードのアイコンを押して、ビルドスクリプトの変化をIDEに読ませる。


Hello.kt の追加

  • 左端のProjectビューでルートフォルダを右クリックしてNew-Directory で src/mingwX64Main/kotlin を指定する。入力補完が効くはず。
  • 作成されたフォルダを右クリックしてNew-Kotlin class/file で Hello.kt を指定する。

Gradleタスクの実行

ウィンドウ右端のバーからGradleパネルを開いて Tasks/run/runDebugExecutableMingwX64 を右クリックして 「Run …」を選ぶ。

ウィンドウ下部のRunパネルに以下のようなログが表示される。

6:26:41: Executing task 'runDebugExecutableMingwX64'...

> Configure project :
Kotlin Multiplatform Projects are an Alpha feature. See: https://kotlinlang.org/docs/reference/evolution/components-stability.html. To hide this message, add 'kotlin.mpp.stability.nowarn=true' to the Gradle properties.

> Task :compileKotlinMingwX64
> Task :linkDebugExecutableMingwX64

> Task :runDebugExecutableMingwX64
Hello Kotlin/Native!

BUILD SUCCESSFUL in 3s
3 actionable tasks: 3 executed
6:26:45: Task execution finished 'runDebugExecutableMingwX64'.
@tateisu
mod
creator
12M

その後Linux用バイナリのクロスコンパイルやcoroutinesやktorを試してみたが、ktorから呼ばれるlibcurlがTLSをうまく扱えない現象に遭遇して頓挫した。

⌚ガジェット
!gadgets

    ガジェット関連の記事を収集します

    • 0 users online
    • 1 user / day
    • 1 user / week
    • 1 user / month
    • 1 user / 6 months
    • 3 subscribers
    • 21 Posts
    • 14 Comments
    • Modlog