プラットフォームライブラリ
オペレーティングシステムのネイティブサービスへのアクセスを提供するために、Kotlin/Native ディストリビューションには、各ターゲットに固有の構築済みのライブラリセットが含まれています。これらは platform libraries (プラットフォームライブラリ)と呼ばれます。
プラットフォームライブラリのパッケージは、デフォルトで使用可能です。それらを使用するために、追加のリンクオプションを指定する必要はありません。Kotlin/Native コンパイラは、どのプラットフォームライブラリがアクセスされているかを自動的に検出し、必要なものをリンクします。
ただし、コンパイラディストリビューションのプラットフォームライブラリは、ネイティブライブラリへの単なるラッパーおよびバインディングです。つまり、ローカルマシンにネイティブライブラリ自体(.so
、.a
、.dylib
、.dll
など)をインストールする必要があります。
POSIX bindings
Kotlin は、Android および iOS を含む、すべての UNIX および Windows ベースのターゲットに対して、POSIX platform library(POSIX プラットフォームライブラリ)を提供します。これらのプラットフォームライブラリには、POSIX standard(POSIX 標準)に従うプラットフォームの実装へのバインディングが含まれています。
ライブラリを使用するには、プロジェクトにインポートします。
import platform.posix.*
platform.posix
の内容は、POSIX 実装のバリエーションにより、プラットフォームによって異なります。
サポートされている各プラットフォームの posix.def
ファイルの内容は、こちらで確認できます。
POSIX platform library(POSIX プラットフォームライブラリ)は、WebAssembly ターゲットでは使用できません。
Popular native libraries
Kotlin/Native は、OpenGL、zlib、Foundation など、さまざまなプラットフォームで一般的に使用される、さまざまな一般的なネイティブライブラリのバインディングを提供します。
Apple プラットフォームでは、Objective-C との相互運用性 API を有効にするために、objc
ライブラリが含まれています。
Kotlin/Native ターゲットで使用可能なネイティブライブラリは、セットアップに応じて、コンパイラディストリビューションで確認できます。
-
スタンドアロンの Kotlin/Native コンパイラをインストールした場合:
- コンパイラディストリビューションを含む解凍されたアーカイブ(例:
kotlin-native-prebuilt-macos-aarch64-2.1.0
)に移動します。 klib/platform
ディレクトリに移動します。- 対応するターゲットのフォルダーを選択します。
- コンパイラディストリビューションを含む解凍されたアーカイブ(例:
-
IDE で Kotlin プラグイン(IntelliJ IDEA および Android Studio にバンドル)を使用している場合:
-
コマンドラインツールで、以下を実行して
.konan
フォルダに移動します。- macOS and Linux
- Windows
~/.konan/
%\USERPROFILE%\.konan
-
Kotlin/Native コンパイラディストリビューション(例:
kotlin-native-prebuilt-macos-aarch64-2.1.0
)を開きます。 -
klib/platform
ディレクトリに移動します。 -
対応するターゲットのフォルダーを選択します。
-
サポートされている各プラットフォームライブラリの定義ファイルを確認する場合は、コンパイラディストリビューションフォルダで、konan/platformDef
ディレクトリに移動し、必要なターゲットを選択してください。