Skip to content

プラットフォームライブラリ

オペレーティングシステムのネイティブサービスへのアクセスを提供するために、Kotlin/Nativeディストリビューションには、各ターゲットに固有のビルド済みライブラリのセットが含まれています。これらは_プラットフォームライブラリ_と呼ばれます。

プラットフォームライブラリのパッケージはデフォルトで利用可能です。これらを使用するために追加のリンクオプションを指定する必要はありません。Kotlin/Nativeコンパイラは、どのプラットフォームライブラリがアクセスされているかを自動的に検出し、必要なものをリンクします。

しかし、コンパイラディストリビューション内のプラットフォームライブラリは、ネイティブライブラリへの単なるラッパーとバインディングに過ぎません。つまり、ネイティブライブラリ自体(.so.a.dylib.dllなど)をローカルマシンにインストールする必要があります。

POSIXバインディング

Kotlinは、AndroidとiOSを含むすべてのUNIXベースおよびWindowsベースのターゲット向けにPOSIXプラットフォームライブラリを提供します。これらのプラットフォームライブラリには、POSIX標準に準拠したプラットフォームの実装へのバインディングが含まれています。

ライブラリを使用するには、プロジェクトにインポートします。

kotlin
import platform.posix.*

platform.posixの内容は、POSIXの実装のバリエーションによりプラットフォーム間で異なります。

各サポートされているプラットフォームのposix.defファイルの内容は、以下で確認できます。

POSIXプラットフォームライブラリは、WebAssemblyターゲットでは利用できません。

主要なネイティブライブラリ

Kotlin/Nativeは、OpenGL、zlib、Foundationなど、様々なプラットフォームで一般的に使用される主要なネイティブライブラリのバインディングを提供します。

Appleプラットフォームでは、Objective-C APIとの相互運用性を可能にするために、objcライブラリが含まれています。

Kotlin/Nativeターゲットで利用可能なネイティブライブラリは、セットアップに応じて、コンパイラディストリビューション内で探索できます。

  • スタンドアロンのKotlin/Nativeコンパイラをインストールした場合:

    1. コンパイラディストリビューションを含む解凍されたアーカイブ(例: kotlin-native-prebuilt-macos-aarch64-2.1.0)に移動します。
    2. klib/platformディレクトリに移動します。
    3. 対応するターゲットのフォルダを選択します。
  • IDEでKotlinプラグインを使用している場合(IntelliJ IDEAおよびAndroid Studioにバンドルされています):

    1. コマンドラインツールで、以下のコマンドを実行して.konanフォルダに移動します。

      none
      ~/.konan/
      none
      %\USERPROFILE%\.konan
    2. Kotlin/Nativeコンパイラディストリビューション(例: kotlin-native-prebuilt-macos-aarch64-2.1.0)を開きます。

    3. klib/platformディレクトリに移動します。

    4. 対応するターゲットのフォルダを選択します。

各サポートされているプラットフォームライブラリの定義ファイルを探索したい場合は、コンパイラディストリビューションフォルダ内でkonan/platformDefディレクトリに移動し、必要なターゲットを選択してください。

次のステップ

Swift/Objective-Cとの相互運用性についてさらに学ぶ