プラットフォームライブラリ
オペレーティングシステムのネイティブサービスへのアクセスを提供するため、Kotlin/Nativeディストリビューションには、各ターゲット固有のプリビルドライブラリ一式が含まれています。これらは_プラットフォームライブラリ_と呼ばれます。
プラットフォームライブラリのパッケージはデフォルトで利用可能です。これらを使用するために追加のリンクオプションを指定する必要はありません。Kotlin/Nativeコンパイラは、どのプラットフォームライブラリがアクセスされているかを自動的に検出し、必要なものをリンクします。
ただし、コンパイラディストリビューション内のプラットフォームライブラリは、単にネイティブライブラリへのラッパーおよびバインディングにすぎません。つまり、ネイティブライブラリそのもの(.so
、.a
、.dylib
、.dll
など)をローカルマシンにインストールする必要があります。
POSIXバインディング
Kotlinは、AndroidやiOSを含むすべてのUNIXベースおよびWindowsベースのターゲットに対してPOSIXプラットフォームライブラリを提供します。これらのプラットフォームライブラリには、POSIX標準に準拠するプラットフォームの実装へのバインディングが含まれています。
ライブラリを使用するには、プロジェクトにインポートします。
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コンパイラをインストールしている場合:
- コンパイラディストリビューションが展開されたアーカイブ(例:
kotlin-native-prebuilt-macos-aarch64-2.1.0
)に移動します。 klib/platform
ディレクトリに移動します。- 対応するターゲットのフォルダーを選択します。
- コンパイラディストリビューションが展開されたアーカイブ(例:
IDEでKotlinプラグインを使用している場合(IntelliJ IDEAおよびAndroid Studioにバンドルされています):
コマンドラインツールで、
.konan
フォルダーに移動するために以下を実行します。Kotlin/Nativeコンパイラディストリビューション(例:
kotlin-native-prebuilt-macos-aarch64-2.1.0
)を開きます。klib/platform
ディレクトリに移動します。対応するターゲットのフォルダーを選択します。
TIP
各サポートされているプラットフォームライブラリの定義ファイルを確認したい場合は、コンパイラディストリビューションフォルダー内のkonan/platformDef
ディレクトリに移動し、必要なターゲットを選択してください。