このページは、EaaSの3.8.5を対象としています。
更新履歴
このページではEaaS 3.8.5で各DLL (CryAction.dll、CryAudioImplSDLMixer.dll、CryAudioImplWwise.dll、CryEntitySystem.dll、CryGameSDK.dll、CryInput.dll、CryScriptSystem.dll等)を、 コンパイルする方法についてまとめます。 なお、バージョン3.8.4まではVisual Studio 2012 Professional及びVisual Studio 2012 Expressのみがサポートされているとのことです。 バージョン3.8.5以降についてはこのページを参照してください。 また、EaaSではWAFと呼ばれるpythonベースのビルドシステムを用いて、ビルドします。 WAFに関してはあまり詳しくないので間違い等ありましたらご指摘ください。
まず、「CRYENGINE_source_v3.8.5.14_pc_eaascode.zip」を解凍します。 そして、解凍してできた「CRYENGINE_source_v3.8.5.14_pc_eaascode」フォルダを開きます。
ビルド時、日本語環境では文字コードの警告が発生し、 「/WX」フラグが設定されていると、警告がエラーとして扱われ、 「エラー C2220」が出て失敗します。 それを回避するため、WAFのコンパイル設定から「/WX」フラグを外します。 方法は次の通りです。 まず、「Code\Tools\waf-1.7.13\crywaflib\compile_settings_msvc.py」を開きます。 そして、77行目の「'/WX', # Treat Warnings as Errors」の一行をコメントアウトします。(pythonで書かれているので#でコメントアウトする。)
まず、「cry_waf.exe」を起動します。 そして、次の画像のようにクリックして進めます。
「Solutions\CRYENGINE.sln」が作成されていることを確認してください。
CryInput.dllではDirectX SDKを使用しているため、コンパイルするにはDirectX SDKを導入する必要があります。 このサイトから「DirectX Software Development Kit」をダウンロードし、 インストールします。 このとき、インストールしたディレクトリを覚えておいてください。 インストールが完了したら、「Code\SDKs」フォルダに、「DXSDK」というフォルダを作ります。 そこへ、DirectX SDKのフォルダ(私は「D:\Program Files (x86)\Microsoft DirectX SDK (June 2010)」にインストールしました。)から、 「Include」と「Lib」フォルダをコピーします。
CryAudioImplWwise.dllをコンパイルするにはAudioKinetic Wwiseを導入する必要があります。 このサイトから「2014.1.1 build 5179(stable)」を選択しダウンロードし、 インストールします。 このとき、「Components to install」で「SDK(Windows, Visual Studio 2012)」を選択しインストールしてください。 また、インストールしたディレクトリを覚えておいてください。 インストールが完了したら、以下のように必要なファイルをコピーしてください。 私はWwiseは「D:\Program Files (x86)\Audiokinetic\Wwise v2014.1.1 build 5179」にインストールしました。
最終的に、ディレクトリ構造は次の画像のようになります。
「Solutions\CRYENGINE.sln」を開きます。
「ビルド -> 構成マネージャー」を選択し、 次の画像のように、「アクティブソリューション構成」を「[GameSDK and Editor] Profile」に「アクティブソリューションプラットフォーム」を「x64」へ変更し閉じます。
「ビルド->ソリューションのビルド」でビルドします。 「CRYENGINE_source_v3.8.5.14_pc_eaascode\bin\win_x64」に13個のDLLファイルが作成されていればコンパイルは完了です。
「CRYENGINE_source_v3.8.5.14_pc_eaascode\bin\win_x64」から「CRYENGINE\bin\win_x64」へDLLファイルをコピーします。 念のためバックアップしておくことをお勧めします。
「bin\win_x64\Editor.exe」を起動してみます。 エラーなくこのような画面になったら成功です。