You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
159 lines
10 KiB
Plaintext
159 lines
10 KiB
Plaintext
Availability:Public
|
|
Title:Linux (レガシー) のクロス コンパイル
|
|
Crumbs:%ROOT%
|
|
Description:4.14 より前のバージョンを使用しているエンジン ユーザー向けに、Linux プラットフォーム用クロスコンパイルの設定方法を説明します。
|
|
Version:4.14
|
|
SkillLevel:Advanced
|
|
type:reference
|
|
parent:Platforms/Linux
|
|
tags:Linux
|
|
related:Programming/Development/CompilingProjects
|
|
related:Programming/Development/BuildConfigurations
|
|
related:Engine/Basics/Projects/Packaging
|
|
related:Platforms/Linux/GettingStarted
|
|
topic-image:LegacyRef_Topic.png
|
|
|
|
[TOC(start:2 end:3)]
|
|
|
|
このリファレンスは、4.14 よりも前のアンリアル エンジン 4 (UE4) のクロスコンパイル ツールの設定が必要なユーザー向けのアーカイブです。
|
|
|
|
[REGION:note]
|
|
4.14 以降のアンリアル エンジンをご使用の場合は、[](Platforms/Linux/GettingStarted) を参照してください。
|
|
[/REGION]
|
|
|
|
[EXCERPT:Why_XC]
|
|
## クロスコンパイルが必要な理由
|
|
|
|
**クロスコンパイル** により、ゲーム デベロッパーは Linux をターゲットにしながら、Windows を中心にしたワークフローで作業できるようになります。今回のクロスコンパイルは Windows のみのサポートとなりますので、
|
|
Mac ユーザーは現時点においては [native compilation](https://wiki.unrealengine.com/Building_On_Linux) を使用する必要があります。Linux-x86_64 プラットフォーム向けに、ライブラリおよびツールチェーンのサポート、テスト、および提供をしています。
|
|
|
|
## ツールチェーンの取得
|
|
|
|
以下の表で適切なツールチェーンを確認してダウンロードしてください。
|
|
|
|
| ツールチェーン | UE4 バージョン |
|
|
| -------------------------------------------------------------------------------------------------------------------------------- | -------------- |
|
|
| **-v11** [clang-5.0.0-based](http://cdn.unrealengine.com/CrossToolchain_Linux/v11_clang-5.0.0-centos7.zip) | 4.19 |
|
|
| **-v10** [clang-5.0.0-based](http://cdn.unrealengine.com/CrossToolchain_Linux/v10_clang-5.0.0-centos7.zip) | 4.18 |
|
|
| **-v9** [clang-4.0.0-based](http://cdn.unrealengine.com/CrossToolchain_Linux/v9_clang-4.0.0-centos7.zip) | 4.16 and 4.17 |
|
|
| **-v8** [clang-3.9.0-based](http://cdn.unrealengine.com/qfe/v8_clang-3.9.0-centos7.zip) | 4.14 and 4.15 |
|
|
| **-v7** [clang-3.7.0-based](https://s3.amazonaws.com/unrealengine/CrossToolchain_Linux/v7_clang-3.7.0_ld-2.24_glibc-2.12.2.zip) | 4.11 thru 4.13 |
|
|
| **-v6** [clang-3.6.0-based](https://s3.amazonaws.com/unrealengine/qfe/v6_clang-3.6.0_ld-2.24_glibc-2.12.2.zip) | 4.9 and 4.10 |
|
|
| **-v4** [clang-3.5.0-based](http://cdn.unrealengine.com/qfe/v4_clang-3.5.0_ld-2.24_glibc-2.12.2.zip) | 4.8 and earlier|
|
|
|
|
[REGION:note]
|
|
Windows Batch Files (\*.bat) は UE4 向けに AutoSDKs を設定する場合のみ必要なため、設定および設定解除は **-v9** に含まれていません。
|
|
`Setup.bat` および `Unsetup.bat` は AutoSDKs システムの一部だったため、ツールチェーンの以前のバージョンに含まれていました (現在はドキュメントはありません)。
|
|
[/REGION]
|
|
|
|
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](Programming/UnrealBuildSystem) (UBT) で (マイナーな) コード変更が必要になります。
|
|
[/EXCERPT:Why_XC]
|
|
|
|
これより先の説明は x86_64 Linux をターゲットとする開発を行うユーザーを想定していますが、ほとんどの情報は ARM のコンパイル (ツールチェーンが異なる場合を除く) にも適用できます。
|
|
異なるバージョンのツールを使用したり、別のアーキテクチャをターゲットとする場合は、[独自のツールチェーンをビルドする](https://wiki.unrealengine.com/Building_Linux_cross-toolchain) ことができます。
|
|
|
|
## ツールチェーンの設定
|
|
|
|
[Control Panel (コントロールパネル)]->[System (システム)]->[Advanced system settings (詳細システム設定)]->[Advanced (詳細)]->[Environment variables (環境変数)] を選択し、`LINUX_ROOT` という名前の環境変数を追加します。この値はツールチェーンの絶対パスです (バックスラッシュはありません)。
|
|
|
|
[REGION:raw]
|
|

|
|
[/REGION]
|
|
|
|
環境変数を設定したら、UE4 プロジェクトファイルを再生成 (「GenerateProjectFiles.bat」を使用) して Visual Studio を再起動します。再起動すると Win32/Win64 コンフィギュレーションに "Linux" が表示されます
|
|
(クロスコンパイル可能な状態になりました)。
|
|
|
|
## Linux 向けパッケージングの設定
|
|
|
|
[OBJECT:ToggleButtonContent]
|
|
[PARAMLITERAL:category]
|
|
BinarySourceSelect
|
|
[/PARAMLITERAL]
|
|
[PARAMLITERAL:id]
|
|
binaryinstall
|
|
[/PARAMLITERAL]
|
|
[PARAMLITERAL:active]
|
|
active_button_content
|
|
[/PARAMLITERAL]
|
|
[PARAM:content]
|
|
%binary%
|
|
[/PARAM]
|
|
[/OBJECT]
|
|
[OBJECT:ToggleButtonContent]
|
|
[PARAMLITERAL:category]
|
|
BinarySourceSelect
|
|
[/PARAMLITERAL]
|
|
[PARAMLITERAL:id]
|
|
sourceinstall
|
|
[/PARAMLITERAL]
|
|
[PARAMLITERAL:active]
|
|
[/PARAMLITERAL]
|
|
[PARAM:content]
|
|
%source%
|
|
[/PARAM]
|
|
[/OBJECT]
|
|
|
|
[VAR:source]
|
|
Linux プラットフォームをパッケージ化するためには、以下のターゲットをビルドする必要があります。
|
|
|
|
Linux 向け:
|
|
|
|
* CrashReportClient
|
|
* UE4Game (コンテンツのみのプロジェクトの場合、それ以外はプロジェクトのみをビルド)
|
|
|
|
Windows 向け:
|
|
|
|
* エディタ自体 (Unreal Editor と Unreal Frontend で Linux 対応のゲームをクック / パッケージ化するために、 Linux ターゲットモジュールビルドを取得するために必要)
|
|
* UnrealPak と ShaderCompileWorker (おそらくビルドされるでしょうが、総合的に言及)
|
|
|
|
[/VAR]
|
|
|
|
[VAR:binary]
|
|
バイナリ リリースでは、コンテンツ専用プロジェクトのパッケージのみが作成可能であることに注意してください。Linux 向けのコードベース プロジェクト (または規定外のサードパーティプラグインがあるプロジェクト) をパッケージ化する場合は、ソースビルドの設定が必要になります。
|
|
コンテンツ専用プロジェクトで問題なければ、UE4Game と CrashReportClient の Linux バイナリがバンドルされているので、何もビルドする必要はありません。
|
|
[/VAR]
|
|
|
|
## Linux 向けのパッケージング
|
|
|
|
エディタでパッケージ プロジェクトを開き、[File]->[Package To]->[Linux] の順に選択する方法が最も簡単なパッケージ方法です。
|
|
(その前にクロスツールチェーンをインストールしておくこと、Linux ターゲットモジュールが対象エディタ用にビルドされていることが前提です。リストに 「Linux」 が表示されない場合は、手順の何かが未完了の可能性があります。上記を参照してください)。しばらくすると (サンプル プロジェクトは若干短めなど、対象プロジェクトにより異なります)、
|
|
パッケージ作成対象のディレクトリにゲームアセットとバイナリが表示されます。
|
|
|
|
パッケージ作成プロセスの詳細は、**Show Output Log** リンクから参照してください。「unable to find UnrealPak or ShaderCompileWorker (UnrealPak または ShaderCompileWorker が見つかりません)」のエラーメッセージがでてプロセスが失敗した場合は、上記のリンクでホスト (Windows) プラットフォーム向けのパッケージのビルド方法をご確認ください。
|
|
|
|
Secure copy (`scp`) を実行、もしくはターゲットとするマシンにコピー (そのマシンが容量不足の場合、Samba の設定方法をご存じであれば Samba share を実装すれば反復時間も削減できるので推奨します) して、
|
|
ターゲット実行ファイルを `chmod +x` (場所は 「`LinuxNoEditor/<ProjectName>/Binaries/Linux/`」ディレクトリ) に指定して実行します。
|
|
|
|
### Linux-ARM プラットフォームの変更
|
|
|
|
[REGION:note]
|
|
アンリアル エンジン 4.14 では、ARM プラットフォーム向けプラットフォーム向けに新しいパッケージ方法が追加されています。
|
|
詳細は最新の [](Platforms/Linux/GettingStarted) をご覧ください。
|
|
[/REGION]
|
|
|
|
Linux-ARM クロスコンパイル ツールチェーンを使用している場合は「GenerateProjectFiles.bat」 を実行する前に UE4 ソースコードで以下のファイルを編集します。
|
|
|
|
.../UnrealEngine/Engine/Source/Programs/UnrealBuildTool/Linux/UEBuildLinux.cs
|
|
|
|
次の行をコメントアウトします。
|
|
|
|
static private string DefaultArchitecture = "x86_64-unknown-linux-gnu";
|
|
|
|
次のように Linux-ARM アーキテクチャの行のコメントを削除します。
|
|
|
|
//static private string DefaultArchitecture = "arm-unknown-linux-gnueabihf";
|
|
|
|
パッケージ プロジェクトを Linux-ARM プラットフォーム上で実行可能にするためには、以下の操作が別途必要です。パッケージ プロジェクトが `\foo\bar\SunTemple_Linux` に保存されているとした上で、以下の保存場所を開きます。
|
|
|
|
`\foo\bar\SunTemple_Linux\LinuxNoEditor\Engine\Binaries\Linux`
|
|
|
|
次に `libopenal.so.1` を以下のバージョンから置換します。
|
|
|
|
`...\UnrealEngine\Engine\Source\ThirdParty\OpenAL\1.15.1\lib\Linux\arm-unknown-linux-gnueabihf\libopenal.so`
|
|
|
|
`...\UnrealEngine` は UE4 のソースコードの保存場所です。名前を必ず `libopenal.so` から `libopenal.so.1` へ変更してください。
|
|
|
|
これでプロジェクトをターゲット マシンへコピーできるようになります。ターゲット実行ファイルを `chmod+x` で実行し、上記の説明に沿って実行します。
|
|
|