INTSourceChangelist:2374181 Availability:Public Title:ゲームプロジェクトのコンパイル Crumbs:%ROOT%, Programming, Programming/Development Description:Windows でVisual Studio 2012を使用、またはMac で Xcode を使用した個々のゲームプロジェクトのコンパイル Version:4.5 [TOC (start:2 end:3)] [EXCERPT:Main] アンリアル・エンジンは、プロジェクトのコンパイルとこれらをエンジンとリンクさせる複雑な面の処理をすべて行う UnrealBuildToolを用いたカスタムビルド手法を使用します。標準の Visual Studio ビルドワークフローを使用してプロジェクトのビルドを有効にする 透過的なプロセスです。 UnrealBuildTool はゲームプロジェクトのビルドに「`*.Build.cs`」 と 「`*.Target.cs`」ファイルを使用します。これらのファイルは、 C++ テンプレートを使用してプロジェクトを作成した時、または Blueprints Only テンプレートで作成したプロジェクトにコードを追加するために [](Programming\Development\ManagingGameCode\CppClassWizard) を使用した時に自動生成されます。 ##ビルドコンフィギュレーション エンジンのコンパイル方法を決定する際に、アンリアル エンジン 4 と UnrealBuildool は異なるビルド コンフィギュレーションを使用します。使用するビルドコンフィギュレーションは、作成するビルドの目的によって判断します。 [PUBLISH:Rocket] それぞれのビルドコンフィギュレーションには2つのキーワードが含まれています。最初のキーワードはエンジンとゲームプロジェクトのステートを意味します。例えば **Debug** コンフィギュレーションを使用してコンパイルすると、 ゲームのコードをデバッグすることができます。2番目のキーワードはビルドターゲットを示しています。アンリアルエンジンでプロジェクトを開く場合は、 プロジェクトを **Editor** のキーワードを使用してビルドしなくてはいけませんが、実行可能なゲームをビルドする場合は、 **empty** のキーワードでビルドしなくてはいけません。 |ビルドコンフィギュレーション - ステート | 説明 | |-------------|-------------| | **Debug** | このコンフィギュレーションはデバッグのシンボルを含みます。**Debug** コンフィギュレーションでプロジェクトをコンパイルして、このプロジェクトをアンリアルエディタで開く場合は、プロジェクトにコード変更が反映されたことを確認するために "-debug" フラグを設定しなくてはいけません。 | | **Development** | リリースと同等のコンフィギュレーションです。後にアンリアルエディタでプロジェクトを開いた時にプロジェクトのコード変更が反映されていることを確認するために、 **Development** コンフィギュレーションでコンパイルしなくてはいけません。| | **Shipping** | 最適なパフォーマンスでゲームを出荷するためのコンフィギュレーションです。このコンフィギュレーションはコンソール コマンド、統計情報、プロファイリング ツールを削除します。| |ビルドコンフィギュレーション - ターゲット | 説明 | | ------------------| ----------| | [empty] | スタンドアローンの実行可能なプロジェクトをビルドするコンフィギュレーションですが、プラットフォーム固有にクックしたコンテンツが必要です。 | | **Editor** | アンリアルエディタでプロジェクトを開いて、コード変更すべてが反映されていることを確認するには、プロジェクトを **Editor** コンフィギュレーションでビルドしなくてはいけません。 | | **Uncooked** | **Uncooked** タイプが含まれたコンフィギュレーションでビルドしたプロジェクトは "-game" フラグを設定してアンリアルエディタで開かなくてはいけません。このコンフィギュレーションは、クックしていないコンテンツでゲームを新規ウィンドウで実行します。エディタの **Play in > New Window at Default Player Start** と同じ機能です。 | [/PUBLISH:Rocket] [PUBLISH:Licensee] それぞれのビルドコンフィギュレーションには2つのキーワードが含まれています。最初のキーワードはエンジンとゲームプロジェクトのステートを意味します。例えば **DebugGame** コンフィギュレーションを使用してコンパイルすると、 ゲームコードはデバッグできますが、エンジンコードはデバッグできません。2番目のキーワードはビルドターゲットを示しています。アンリアルエディタでプロジェクトを開く場合は、 **Editor** のキーワードを使用してビルドしなくてはいけませんが、今後サーバーで実行する実行可能なプロジェクトをビルド中の場合は、 **Server** のキーワードでビルドしなくてはいけません。 |ビルドコンフィギュレーション - ステート | 説明 | |-------------|-------------| | **Debug** | デバッグ コンフィギュレーションでエンジンとゲームコードの両方をビルドします。| | **DebugGame** | エンジンを最適化してビルドしますが、ゲームコードはデバッグ可能な状態のままにします。ゲーム モジュールのみをデバッグする場合に理想的なコンフィギュレーションです。| | **Development** | リリースと同等のコンフィギュレーションです。エンジンとゲームコードの両方がこのコンフィギュレーションでビルドされます。 | | **Shipping** | 最適なパフォーマンスでゲームを出荷するためのコンフィギュレーションです。このコンフィギュレーションはコンソール コマンド、統計情報、プロファイリング ツールを削除します。| | **Test** | このコンフィギュレーションは、 **Shipping(出荷)** コンフィギュレーションですが、一部のコンソール コマンド、統計情報、プロファイリング ツールが有効になっています。 | |ビルドコンフィギュレーション - ターゲット | 説明 | | ------------------| ----------| | [empty] | スタンドアローンの実行可能なプロジェクトをビルドするコンフィギュレーションですが、プラットフォーム固有にクックしたコンテンツが必要です。 | | **Client** | 「`Client.Target.cs`」 ファイルがある場合は、 **Client** ビルドコンフィギュレーションが有効になります。 | | **Editor** | アンリアルエディタでプロジェクトを開いて、コード変更すべてが反映されていることを確認するには、プロジェクトを **Editor** コンフィギュレーションでビルドしなくてはいけません。 | | **Server** | 「`Server.Target.cs`」 ファイルがある場合は、 **Server** ビルドコンフィギュレーションが有効になります。 | | **Uncooked** | **Uncooked** タイプが含まれたコンフィギュレーションでビルドしたプロジェクトは "-game" フラグを設定してアンリアルエディタで開かなくてはいけません。このコンフィギュレーションは、クックしていないコンテンツでゲームを新規ウィンドウで実行します。エディタの **Play in > New Window at Default Player Start** と同じ機能です。 | [/PUBLISH:Licensee] [/EXCERPT:Main] [EXCERPT:VS] ## Visual Studio を使用したビルド ### ビルドコンフィギュレーションの設定 ビルドコンフィギュレーションは、Visual Studioのツールバーで設定します。 [PUBLISH:Rocket] ![Project - Configuration Menu](rocket_configuration_menu.png) [/PUBLISH:Rocket] [PUBLISH:Licensee] ![UE4 Solution - Configuration Menu](configuration_menu.png) [/PUBLISH:Licensee] ### Solution Platform の設定 [PUBLISH:Rocket] アンリアル・エンジンは現時点で以下のプラットフォームをサポートしています。 * **Windows 64-bit** ![Project - Platform Menu](rocket_platform_menu.png) [/PUBLISH:Rocket] [PUBLISH:Licensee] 現在アンリアル・エンジン 4 は、以下のプラットフォームをサポートしています。 * **Windows 32-bit** * **Windows 64-bit** アンリアル・エンジン 4 での作業に通常使用するのが **Win64** プラットフォームです。プロジェクトファイル生成時にデフォルトで格納されている唯一のプラットフォームです。[](Programming/UnrealBuildSystem/ProjectFileGenerator) 追加のプラットフォームにプロジェクトファイルを生成する説明はこちらのページを参照してください。 ![UE4 Solution - Platform Menu](platform_menu.png) [/PUBLISH:Licensee] ### プロジェクトのビルド [PUBLISH:Rocket] [REGION:note] 作業を開始する前に、インストールしている Windows Desktop でVisual Studio 2013 Professional、または Visual Studio Express 2013 が実行中であることを確認してください。Mac を使用する場合は、Xcode がインストール済みであることを確認してください。 [/REGION] [REGION:tip] Visual Studio を使用してビルド中の場合は、コンパイル対象はゲームプロジェクトのみで、アンリアルエディタのコンパイルは行いません。 [/REGION] [/PUBLISH:Rocket] [PUBLISH:Licensee] [REGION:tip] Visual Studio でビルド時は、コンパイル対象はエンジンとゲームプロジェクト両方です。 [/REGION] [/PUBLISH:Licensee] **プロジェクトのコンパイル方法** [PUBLISH:Licensee] 1. ビルドするコンフィギュレーションに [**Solution Configuration**] を設定します。この例では、 **Development Editor** に設定されています。利用可能な各コンフィギュレーションの詳細は [ビルドコンフィギュレーション](#ビルドコンフィギュレーション) セクションを参照してください。 ![Project - Set Configuration to Development](config_development_menu.png) 1. ゲームプロジェクトを **右クリック** して **Rebuild** を選択します。 ![](rebuild_project_outside.png) [/PUBLISH:Licensee] [PUBLISH:Rocket] 1. ビルドするコンフィギュレーションに [**Solution Configuration**] を設定します。この例では [**Development**] に設定しています。利用可能な各コンフィギュレーションの詳細は [ビルドコンフィギュレーション](#ビルドコンフィギュレーション) セクションを参照してください。 ![](rocket_config_development_menu.png) 1. ゲームプロジェクトを **右クリック** して **Rebuild** を選択します。 ![](rebuild_project_rocket.png) [/PUBLISH:Rocket] これでコンパイルしたプロジェクトを [エンジンで実行] (GettingStarted/RunningUnrealEngine) することができます。 [EXCERPT:MatchEXE] [PUBLISH:Licensee] [REGION:note] エンジンを実行時は、プロジェクトを再ビルドするビルドコンフィギュレーションに合わせてアンリアルエンジン実行ファイルを使用することが重要です。例えば **DebugGame Uncooked** ビルドコンフィギュレーションでプロジェクトをコンパイルした場合は、 ゲーム情報と一緒に 「`UE4-Win64-DebugGame.exe`」 実行ファイルを引数として実行します。バイナリの命名規則に関する詳細は、 [アンリアル エンジンのビルド](Programming/Development/BuildingUnrealEngine) ページを参照してください。 [/REGION:note] [/PUBLISH:Licensee] [PUBLISH:Rocket] [REGION:note] アンリアルを実行時は、 **Uncooked** コンフィギュレーションでプロジェクトを再ビルドする場合は `-game` フラグ、 **Debug** コンフィギュレーションでプロジェクトを再ビルドする場合は `-debug` フラグをを追加しなくてはいけません。 [/REGION:note] [/PUBLISH:Rocket] [/EXCERPT:MatchEXE] [PUBLISH:Rocket] ### Visual Studio に関する既知の問題 | 問題 | 解決法 | | ----- | -------- | | "Project is out of date"(プロジェクトが無効です)と常にメッセージが表示される | プロジェクトが最新状態であってもVisual Studio がプロジェクトを無効と解釈しています。 [**Do not show this dialog again(このダイアログを表示しない)**] ボックスをチェックして [**No**] を選択するとこのメッセージが非表示になります。 | | **No Debugging Information(デバッグ情報がありません)** と表示したウィンドウが_デバッグ_ コンフィギュレーション使用時に表示される | 「UE4editor.exe」 ファイルを _Development_ コンフィギュレーションでコンパイルしたためこのメッセージが表示されます。警告表示に関係なく、_Debug_ コンフィギュレーションでゲームプロジェクトをコンパイル時にデバッグすることができます。 [**Do not show this dialog again**] ボックスをチェックして [**Yes**] を選択することによってこのメッセージが非表示になります。 | [/PUBLISH:Rocket] [/EXCERPT:VS] [EXCERPT:Xcode] [PUBLISH:Rocket] ## Xcode でビルド [REGION:tip] Xcode でビルド時は、コンパイル対象はゲームプロジェクトのみで、エディタはコンパイルしません。 [/REGION] **プロジェクトのコンパイル方法** アンリアルエンジンの Xcode のプロジェクトは、 Xcodeの **Product > Build** オプションを使用時にデバッグコンフィギュレーションと、 **Product > Build For > Profiling** オプションを使用時に開発コンフィギュレーションをビルドするために設定します。ターゲットスキームを編集することでこのビヘイビアを編集できます。 これでコンパイルしたプロジェクトを [エンジンで実行] (GettingStarted/RunningUnrealEngine) することができます。 [EXCERPT:MatchDMG] [REGION:note] バイナリエディタを実行時に、 **Uncooked** コンフィギュレーションでプロジェクトを再ビルドする場合は `-game` フラグ、 **Debug** コンフィギュレーションでプロジェクトを再ビルドする場合は `-debug` フラグをを追加しなくてはいけません。 [/REGION:note] [/EXCERPT:MatchDMG] ### Xdcode に関する既知の問題 | 問題 | 解決法 | | ----- | -------- | | Xcode はブレークポイントで停止しません | [INCLUDE:#XcodeDebug] | [/PUBLISH:Rocket] [/EXCERPT:Xcode]