# Linux IL2CPP クロスコンパイラー

> Use the Linux IL2CPP cross-compiler to build Linux IL2CPP Players on any Standalone platform without needing to use the Linux Unity Editor or rely on Mono.

Linux IL2CPP クロスコンパイラーは sysroot とツールチェーンのパッケージセットで、Linux 用 Unity エディターや Mono に頼ることなく、あらゆるスタンドアロンプラットフォーム上で Linux IL2CPP プレイヤーをビルドすることを可能にします。

要件を満たす場合、Linux をビルドターゲットとして選択すると、Unity は自動的にこれらのパッケージをインストールします。この処理が行われないようにし、独自の sysroot とツールチェーンのパッケージを使用したい場合は、**Edit** > **Project Settings** > **Toolchain Management** の順に移動して、**Install Toolchain package automatically** チェックボックスを無効にしてください。すでにこれらのパッケージがインストールされている場合は、パッケージマネージャーから削除する必要があります。

\*\*注意:\*\*追加の IL2CPP 引数を設定すると、プロジェクトのコンパイルに影響する場合があります。詳細は、[IL2CPP の追加引数の処理方法](/engine/6000.0/manual/scripting/compilation-and-code-reload/backends/il2cpp/handling-il2cpp-additional-args.md) を参照してください。


**Linux がビルドターゲットとして選択された Build Settings ウィンドウ:**
![](/api/media?file=/engine/6000.0/media/images/linuxBuildSettings.png)

## 必要な要件

Unity は、IL2CPP クロスコンパイラーパッケージをインストールするために以下が必要です。

* Unity 2019.4 以降
* 選択した Linux ツールチェーンパッケージに十分なディスクスペースがあること。詳細は、[Linux ツールチェーンパッケージに必要なディスクスペース](#requiredDiskSpace) を参照してください。
* スクリプティングバックエンドを IL2CPP に設定します。スクリプティングバックエンドを IL2CPP に設定するには、**Edit** > **Project** **Setting** > **Player** **Settings** > **Setting** **for** **PC, Mac and Linux Standalone** > **Other Settings** > **Configuration** の順に移動します。**Scripting Backend** を **IL2CPP** に設定します。
* IL2CPP モジュールIL2CPP モジュールのインストール方法については、[モジュールの追加](https://docs.unity3d.com/hub/manual/AddModules.html) のステップに従ってください。

## Linux の sysroot パッケージ

Linux の sysroot パッケージとは、Linux 用のビルドに必要なヘッダーやライブラリをすべて含んだディレクトリのことです。

OS には、それぞれ独自のビルドシステムがあります。特定の OS のヘッダーやライブラリを使ってビルドする場合、ビルドされたプレイヤーは他の OS では動作しない可能性があります。そこで、Unity では、サポートされているすべての Linux プラットフォームで動作するビルドを作成するために sysroot を提供しています。

## Linux ツールチェーンパッケージ

Unity は、macOS、Windows、Linux 用のツールチェーンパッケージを提供しています。これらのプラットフォームは、それぞれ固有の方法で Linux 用のビルドを行います。

Linux ツールチェーンパッケージとは、Unity が Linux 用にビルドするために必要なツール (コンパイラーやリンカーを含む) を、これらの各 OS から集めたものです。

## Linux ツールチェーンパッケージに必要なディスク容量

パッケージのダウンロード、解凍、およびその使用を考慮して、十分なディスク容量を確保してください。

稀な例ですが十分な容量があるかどうかわからない場合は、UNITY\_SYSROOT\_CACHE 環境変数を定義して、圧縮されていない sysroot とツールチェーンのパッケージを保存するために使用します。環境変数とは Unity の外部で設定した変数で、Unity が参照できるものです。このケースでは、sysroot とツールチェーンのパッケージを解凍する際に Unity が参照できるキャッシュを設定します。環境変数は、OS に固有のものであるため、システムのガイドラインに従って設定する必要があります。

下の表は、各ツールチェーンパッケージに必要な総ディスク容量を示しています。

| ツールチェーンパッケージ                                    | 必要なディスク容量 |
| ----------------------------------------------- | --------- |
| com.unity.toolchain.linux-x86\_64               | 462MB     |
| com.unity.toolchain.macos-x86\_64-linux-x86\_64 | 2GB       |
| com.unity.toolchain.win-x86\_64-linux-x86\_64   | 2GB       |

## Linux IL2CPP クロスコンパイラーの使用について

このページの要件をすべて満たしていれば、プロジェクトを Linux プレイヤーとしてビルドすることができます。Unity は、ビルド時に自動的に Linux IL2CPP クロスコンパイラーを使用します。

Linux プレイヤーをビルドするには、以下の手順で行います。

1. **Build Settings** を開きます (メニュー: **File** > **Build Settings)**。
2. **Windows, Mac, Linux** オプションを選択します。
3. **Build Target** オプションを **Linux** に設定します。
4. **Switch Platform** ボタンをクリックします。
5. プレイヤーをビルドします。Unity のメインメニューから、**File** に移動し、**Build** または **Build and Run** を選択します。

## 追加リソース

* [Unity エディターにモジュールを追加する方法](https://docs.unity3d.com/hub/manual/AddModules.html)
* [Linux ビルド設定](/engine/6000.0/manual/platform-specific/linux/buildsettings.md) プラットフォーム ドキュメント。
* [Linux Player 設定](/engine/6000.0/manual/platform-specific/linux/player-settings.md)
