Skip to content

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

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

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

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

POSIXバインディング

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

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

kotlin
import platform.posix.*

NOTE

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フォルダーに移動するために以下を実行します。

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

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

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

TIP

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

次のステップ

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