SimpleROHook ビルドガイド (2014.07.10加筆修正)

2015年4月20日

SimpleROHook ビルドマニュアル

基本的に分からない人向けです。分かる人は該当部分を補完、もしくは読み飛ばしてください。

  1. Visual C++ 2010 Express のインストール
  2. Visual Studio Express 2013 for Windows Desktop のインストール
  3. DirectX Software Development Kit ( dxsdk_aug2007.exe )のインストール
  4. DirectX SDK Aug 2007 の不具合修正と環境設定
  5. GitHubからSimpleROHookのプロジェクトを取得してビルド

1,2,3は順番が前後しても構いません。細かい関連付けの変化が気になる方はVicual C++ 2010 Expressを先にインストールしましょう。バージョン違いのVisual Studioの起動はバージョンセレクタが処理してくれます。

なお、ある程度開発環境の整備に関して知識がある人は以下のMicrosoftのページを参考にして、他のPCからビルド環境を手動でコピーしてくることも出来ます。面倒なのでお勧めはしませんがディスク容量の節約になります。

チュートリアル: 複数のコンピューターを使用するビルド環境の作成
http://msdn.microsoft.com/ja-jp/library/jj850211.aspx#installingmsbuildtogac

Visual C++ 2010 Express のインストール

インストール目的はVisual C++ 2010のビルドツールと、付属するC++の標準ライブラリ(V5.20:0009)を手に入れるためです。VS2013に含まれる標準ライブラリ(V6.00:0009)ではコンテナが異なるためコンパイルが通ってもRO上では動作しません。

次のリンクをクリックすると vc_web.exe がダウンロードされるので実行してください。

http://go.microsoft.com/?linkid=9709955

2014-06-04-dl_vc_web_exe_2010

2014-06-04-vc2010_instopt_nocheck

インストールオプションはチェックを外して、なるべくいらない物は削るようにします。

2014-06-04-vc2010_instopt_nocheck_size_1_2g

まぁ、それでも1.2Gは食う様ですが大目に見て下さい。

また、Visual Studio 2010 はサービスパックがリリースされているので Windows Update 等から入手してインストールして下さい。この更新を行わないと、ビルド時にリンクエラーが出る恐れがあります。

Visual Studio 2010 Update

 

 

Visual Studio Express 2013 for Windows Desktop のインストール

次のリンクをクリックしダウンロードサイトへ移動して下さい。

http://go.microsoft.com/?linkid=9832284&clcid=0x411

これをダウンロードするにはMicrosoft アカウントでログインする必要があります。指示に従いExpressバージョンをダウンロードし、インストールしてください。

なお、真面目に環境構築を考えている方はこちらをご覧ください。

2014-06-04-vs2013_dl_webinstaller

2014-06-04-vs2013_dl_wdexpress_full

インストールで特に説明することは有りません。待っていれば終了します。

DirectX Software Development Kit ( dxsdk_aug2007.exe )のインストール

次のリンクをクリックし、ダウンロードサイトへ移動して下さい。ダウンロードボタンをクリックすれdxsdk_aug2007.exeのダウンロードが始まります。アーカイブが必要ない方は直接実行してインストールしてください。

他のマシンにファイルがある等、既にDirectX SDK aug 2007のincludeとlibディレクトリを所持していれば、ファイルをコピーして環境変数を設定するだけで構いません。

http://www.microsoft.com/en-us/download/details.aspx?id=13287

2014-06-04-dl_dxsdkaug07

2014-06-04-dxsdkaug07_install01

分かりやすいように標準テンポラリ以外の場所へ展開しましょう。これは初回の実行では互換性の問題で弾かれるため、2度インストーラーを実行する必要があるからです。

2014-06-04-dxsdkaug07_install02

2014-06-04-extruct_dxsdkaug07_installer

展開後に自動的にSetupが実行されますが、Windows 8.1の場合は互換性アシスタントが.NET Framework 3.5をインストールするよう促すのでインストールして下さい。DirectX SDK aud 2007のインストーラーは.NET Framework 1.1が使われているので、これをインストールしないとDirectX SDKがインストールできません。

2014-06-04-dxsdkaug07_install04_dotnet35

2014-06-04-dxsdkaug07_install04_dotnet35_complete

プログラム互換性アシスタントを閉じて、再度Setupを実行します。

2014-06-04-dxsdkaug07_setup01

必要なのはヘッダとライブラリだけです。ただし、ヘッダとライブラリのみのインストールでは環境変数が設定されないという不都合があるため、全て展開してしまったほうが良いかもしれません。

2014-06-04-dxsdkaug07_setup02

DirectX SDK Aug 2007 の不具合修正と環境設定

近年の開発環境と、このバージョンのSDKをセットで使うとコンパイル時に以下の様なエラーが出てしまいます。

2014-06-07-use-dxsdk-aug2007-error-repo

これはDirectX SDK Aug 2007のIncludeディレクトリにあるrpcsal.hというファイルが古いために起こるので、これをリネームして、新しいファイルを優先して参照させることで解決させます。

2014-06-07-dxsdk-aug2007-rpcsal_h_diff

次の例ではファイル名の先頭にアンダースコアを付ける事で解決しています。ソート時に先頭に来ることから、筆者はこの手をよく使います。

2014-06-07-dxsdk-aug2007-rpcsal_h_rename_to__rpcsal_h

古いDirectX SDKは常時使うわけではないのでシステム環境変数を変更してしまいます。

エクスプローラからPCのプロパティを開きます。

2014-06-04-dxsdkaug07_change-env01

さらに、システムの詳細設定を開きます。

2014-06-04-dxsdkaug07_change-env02

ここに環境変数を設定できるボタンが存在します。

2014-06-04-dxsdkaug07_change-env03-systemprop

環境変数の名前をDXSDK_DIRからDXSDK_AUG07_DIRに変更して下さい。ヘッダとライブラリのみをインストールした場合は、DXSDK_DIRが設定されないので、インストールディレクトリを調べて設定する必要があります。

2014-06-04-dxsdkaug07_change-env04

以下のようになるように設定して下さい。この設定はSimpleROHookのインクルードディレクトリの場所を判別するために使用されます。

DXSDK_AUG07_DIR = “C:\Program Files (x86)\Microsoft DirectX SDK (August 2007)\”

2014-06-07-set-property01

環境変数がきちんと設定されているかどうかは、コマンドプロンプトを起動してsetコマンドを実行する事で確認が出来ます。設定が反映されていないようであればWindowsにサインインしなおしてみるのもいいかも知れません。

2014-06-07-set-property02

2014-06-07-set-property03

GitHubからSimpleROHookのプロジェクトを取得してビルド

Visual Studio Express 2013 for Windows Desktopを起動し、チームエクスプローラを表示させます。

2014-06-04-vs2013-show-team-expl

その後の作業は以下で詳しく説明しています。

Visual Studio 2013 でGitHubからCloneしてくる | Planetleaf.com Lab.
https://lab.planetleaf.com/clone-repos-with-visual-studio-2013-from-github.html

2014-06-04-localrepos-open

ローカルリポジトリをダブルクリックして開き、さらにその中のソリューションファイルを開きます。

2014-06-04-open-simplerohook-project

続いて、先のリンクの通りに「プロジェクトとソリューションの変更をレビュー」でキャンセルを選択します。

2014-05-30-open-local-repository-from-vs2013

ビルド構成に関する注意

2014-06-12-select-a-build-type

RO本体がデバッグ仕様でビルドされていないので、SimpleROHookをDebug構成でビルドするとSTLのコンテナの違いから正しく動作しません。ビルドはRelease構成で行ってください。ビルドメニュー、もしくはF7でビルドを開始し出来ます。

エラーなく終了すればソリューションのReleaseフォルダに実行ファイルが出来上がっているはずです。

Ragnarok Online

Posted by redchat