« あるプログラムを動かす | トップページ | Macで白黒画像が真っ黒で表示された »

2016年6月 5日 (日)

CryEngine 5.1のビルド

Windows 10でCryEngine 5.1をビルドする。

ビルドしたコンピューター

  • Windows 10 Pro
  • i5-4570
  • 実装メモリ8GB
  • SSD+HDD

手順

  • Windowsの表示言語を英語(US)にする
  • Windowsのシステムロケールを英語(US)にする
  • Visual Studio 2015 Community with Update 2をインストールする。(最低限)選択する機能はCommon Tools for Visual C++ 2015とWindows 10 SDK(10.0.10240)。
  • Visual StudioでFile - Open - Open from Source Controlからcloneする。URLは https://github.com/CRYTEK-CRYENGINE/CRYENGINE.git 。ローカルのフォルダはデフォルトのままでよさそう。
  • CryEngine 5.1に必要な3rd party SDKをリリースページからダウンロードして展開する。URLはhttps://github.com/CRYTEK-CRYENGINE/CRYENGINE/releases
  • 展開したフォルダ名をSDKsに変更する。
  • cloneしたソースのCodeフォルダの下にSDKsをコピーする。
  • cry_waf.exeを起動し(たとえば)gamesdk specにチェックを付け、Uber filesとVisual Studio solutionを生成する。
  • cloneしたソースのSolutionsフォルダにできたCRYENGINE.slnをダブルクリックしてVisual Studioを起動する。
  • Solution configurations: [GameSDK] Profile , Solution Platforms: x64 として Build - Build Solutionする。
  • Build中に次のエラーが出たらソースを変更する。
    Warning    C4264    'void ID3D12GraphicsCommandList::SetDescriptorHeaps(UINT,ID3D12DescriptorHeap **)': no override available for virtual member function from base 'ID3D12GraphicsCommandList'; function is hidden
    変更は、D3D12GraphicsCommandList.inlのSetDescriptorHeapsを定義している後ろに次の記述を挿入する(C++の知識がないので、これはまったく自信がない)。
    virtual void SetDescriptorHeaps(
        UINT NumDescriptorHeaps,
        ID3D12DescriptorHeap** ppDescriptorHeaps)
    {
    }

備考

  • Crytekのドキュメントは、 http://docs.cryengine.com/display/CEPROG/Getting+Started+with+WAF
  • 英語(US)にしているのは、日本語設定だと「CP932だと文字化けするソースコードだよ」みたいなエラーが出たため。ソースをUTF-8で保存し直しても後で別のエラーが出てうまくいかなかった。
  • 以前はWindows SDKもインストールする必要があったようだけど、VS 2015 Update 2にはWindows SDKが含まれている。
  • D3D12GraphicsCommandList.inlの変更は、エラーの理由が継承元クラスで定義されているメソッドのオーバーライドが不完全であるためみたいなので、どうせ使われないであろう引数のメソッドを適当に定義した。
  • ビルド時間は14分ぐらいだった。

|

« あるプログラムを動かす | トップページ | Macで白黒画像が真っ黒で表示された »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: CryEngine 5.1のビルド:

« あるプログラムを動かす | トップページ | Macで白黒画像が真っ黒で表示された »