Language:
Page Info
Tags:
Skill Level:
Engine Version:
The translation of this page is out of date. Please see the English version for the latest version of the page.

Linux のクロスコンパイル

Prerequisite Topics

This page assumes you have prior knowledge of the following topics. Please read them before proceeding.

LinuxXC_Banner.png

クロスコンパイル ツールチェーンの改善に伴い、 アンリアル エンジン 4 (UE4) デベロッパーは Windows 開発環境においてさまざまなプラットフォームをターゲットにすることができるようになりました。このガイドでは、クロスコンパイル ツールチェーンの使用可能なプラットフォームおよびツールチェーンのダウンロード ページの紹介、 続いて UE4 プロジェクトを Linux 用にクロスコンパイルする設定方法を説明します。プロジェクト開発にアンリアル エンジン 4.15 をご使用の場合は、 ターゲット プラットフォーム間の切り替え方法も学習することができます。

4.13 より前のエンジンをご使用の場合は、Linux (レガシー) のクロス コンパイル を参照してください。

クロスコンパイルが必要な理由

クロスコンパイル により、ゲーム デベロッパーは Linux をターゲットにしながら、Windows を中心にしたワークフローで作業できるようになります。今回のクロスコンパイルは Windows のみのサポートとなりますので、 Mac ユーザーは現時点においては native compilation を使用する必要があります。Linux-x86_64 プラットフォーム向けに、ライブラリおよびツールチェーンのサポート、テスト、および提供をしています。

ツールチェーンの取得

以下の表で適切なツールチェーンを確認してダウンロードしてください。

ツールチェーン

UE4 バージョン

-v11 clang-5.0.0-based

4.19

-v10 clang-5.0.0-based

4.18

-v9 clang-4.0.0-based

4.16 and 4.17

-v8 clang-3.9.0-based

4.14 and 4.15

-v7 clang-3.7.0-based

4.11 thru 4.13

-v6 clang-3.6.0-based

4.9 and 4.10

-v4 clang-3.5.0-based

4.8 and earlier

Windows Batch Files (*.bat) は UE4 向けに AutoSDKs を設定する場合のみ必要なため、設定および設定解除は -v9 に含まれていません。 Setup.bat および Unsetup.bat は AutoSDKs システムの一部だったため、ツールチェーンの以前のバージョンに含まれていました (現在はドキュメントはありません)。

Linux ARM (https://s3.amazonaws.com/unrealengine/qfe/arm-unknown-linux-gnueabihf_v5_clang-3.5.0-ld-2.23.1-glibc-2.13.zip) 並びに (original Raspberry Pi and up) のコンパイルを可能にするライブラリとツールチェーンも提供しています。 ただし、Unreal Build Tool (UBT) で (マイナーな) コード変更が必要になります。

ツールチェーンの設定

Windows (ホスト) コンピューターからツールチェーンをセットアップして前述のプラットフォームのいずれかをターゲットにするには、 ツールチェーンをダウンロードしてシステムの環境変数を設定して、環境に基づいて Linux と ARM 向けにアプリケーションをパッケージ化する必要があります。Linux プラットフォーム向けに UE4 プロジェクトを初めてパッケージ化する場合は、 Linux 用の Visual Studio を使ってエンジンをビルドする必要もあります。現在サポート対象のプラットフォームのいずれかをターゲットにするようにホスト環境を設定するには、 以下の手順に従います。

これから説明する手順を開始する前に、インターネット接続が信頼できるものであることを確認してください。ツールチェーンのダウンロード時間は数分から数時間です (インターネット接続速度によって異なります)。

ツールチェーンのダウンロード

  1. エンジン バージョンに適したクロス ツールチェーンをダウンロードしてください。

  2. そして新規フォルダを作成し、そのフォルダに Linux_CrossCompileToolChain と名前を付けます。

    クリックしてフルサイズで表示

    使用している命名規則が異なる場合は、さきほど付けた名前を適切なフォルダ名に変更してください。

  3. 解凍ファイルの保存先が前のステップで作成したフォルダになっていることを確認して、ツールチェーンを 解凍 します。

    LinuxXC_Step3.png

    クリックしてフルサイズで表示

  4. [ROOT]/Linux_CrossCompileToolChain/v11_clang-5.0.0-centos7 フォルダを開き、解凍ファイルを表示します。

    クリックしてフルサイズで表示

    サポート対象プラットフォーム

    以下の表で適切なツールチェーンを確認してダウンロードしてください。

    アーキテクチャ

    サブアーキテクチャ

    メーカー

    システム

    Application Binary Interface (abi)

    AArch64

    N/A

    不明

    Linux

    gnueabi

    ARM

    N/A

    不明

    Linux

    gnueabihf

    i686

    N/A

    不明

    Linux

    gnu

    x86_64

    N/A

    不明

    Linux

    gnu

    i686 プラットフォーム用のエンジン ライブラリはまだ追加されていません。

環境変数の設定

  1. LINUX_MULTIARCH_ROOT 環境変数を設定する前に、Setup バッチファイル (Setup.bat) をダブルクリックして、コンピューターに対する適切な変数設定を出力します。

    クリックしてフルサイズで表示

  2. この時点で新しい OutputEnvVars テキスト ファイルが v11_clang-5.0.0-centos7 フォルダに作成されています。

    クリックしてフルサイズで表示

    OutputEnvVars.txt ファイルには、システムの環境変数の設定に役立つ情報が含まれています。

  3. [Windows] キー[Pause Break] キー を一緒に押して [System Information] メニューを開きます。 [Advanced System Settings (詳細システム設定)] からは [System Properties] メニューの [Advanced] サブメニューが開くようになっています。

    クリックしてフルサイズで表示

  4. [Environment Variables...(環境変数...)] ボタンをクリックします

    LinuxXC_Step9.png

  5. システム変数 を追加するには、[System variables] リストの [New...] ボタンをクリックします。

    LinuxXC_Step10.png

    次のステップへ進む前に OutputEnvVars.txt を開いておきましょう。

    クリックしてフルサイズで表示

  6. [New System Variable] ダイアログ メニューが開いたら LINUX_MULTIARCH_ROOT 環境変数設定を [New System Variable] ダイアログのテキストボックスへコピーします。

    クリックしてフルサイズで表示

  7. [Evironment Variables] メニューに戻り、[Ok] ボタンを押して LINUX_MULTIARCH_ROOT 環境変数を保存します。

    LinuxXC_Step14.png

    パッケージ化の間、エンジンは LINUX_ROOT よりも LINUX_MULTIARCH_ROOT を優先します。従って LINUX_ROOT 環境変数が既に設定されていても削除する必要はありません。

  8. [OK] ボタンを押して [System Properties] メニューを終了します。

    LinuxXC_Step15.png

    環境変数をシステムに新たに追加したので、実行中の Visual StudioCommand Prompt のインスタンスをすべて再起動する必要があります。

Linux ビルド コンフィギュレーションの設定

初めて Linux のパッケージ化を行う場合は以下の手順に従ってください。

  1. Command Prompt を開いて [UE4 ROOT]/Setup.bat を実行して、Visual Studio から UE4 をビルドするための前提条件の依存性の確認、更新、およびインストールを行います。

    LinuxXC_Step17.png

  2. [UE4 ROOT]/GenerateProjectFiles.bat を実行し、プロジェクト ファイルを UE4 向けに設定します。

    LinuxXC_Step18.png

    GenerateProjectFiles.bat は UE4 が入っているルート フォルダ ([UE4 ROOT]) 内で実行されなければなりません。Unreal Game Sync でバッチファイルを実行する場合、Visual Studio において Linux は 有効な Build Configuration として表示されません。

  3. [UE4 ROOT] の中の 「UE4.sln」 をダブルクリックして Visual Studio の UE4 ソリューションを開きます。

    クリックしてフルサイズで表示

  4. UE4 をビルドしていない場合は、F5 キーを押して Visual Studio から UE4 をビルドし実行します。

    クリックしてフルサイズで表示

  5. 次にエンジンの実行を停止し、Visual Studio に戻って Visual Studio で Linux ソリューション プラットフォームを選択します。キーボードで Ctrl+Shift+B を同時に押すと Linux 向けのビルドになります。

    クリックしてフルサイズで表示

    この時点で、Visual Studio の [Output] ウィンドウ でツールチェーンが表示されます。

    クリックしてフルサイズで表示

特定プラットフォームのターゲット化

バージョン 4.14 は e x86_64 プラットフォームのみをターゲットとしています。次のセクションはバージョン 4.15 を使用するデベロッパー向けの説明となります。

ターゲット プラットフォームを指定するには、プロジェクトの Default Engine Configuration File を編集する必要があります。そのファイルの保存場所 ([Project Directory]\Config) で
DefaultEngine.ini を開いて次の行を追加します。

[/Script/LinuxTargetPlatform.LinuxTargetSettings]
TargetArchitecture=X86_64UnknownLinuxGnu

TargetArchitecture は以下の値を自由に設定してください。

  • X86_64UnknownLinuxGnu

  • ArmUnknownLinuxGnueabihf

  • AArch64UnknownLinuxGnueabi

結果

これで終わりです!Linux 用プロジェクトのパッケージ化にクロスコンパイル ツールチェーンが使用されるようになります。

クリックしてフルサイズで表示

これで、Windows (ホスト) コンピューターから各種 Linux プラットフォーム用にプロジェクトを コンパイルビルドパッケージ化 することが可能になりました。

Tags