本体のビルド方法
ソースコードを入手する
Githubから「Download ZIP」する。
VisualStudio2012でビルドする(32bit)
基本的には、日本語化Wikiに書いてることと同じです。
- 公式フォーラムから「libbz2.zip」と「bzlib.h」をダウンロードし、「libbz2.zip」は適当な場所に展開する。
- OpenTTD用のライブラリの最新版をダウンロードし、適当な場所に展開する。
- pthreadのライブラリの最新版をFFFTPなどでダウンロードする。
「prebuilt-dll-x-x-x-release」内の「dll」「include」「lib」をフォルダごとダウンロードする。 - ソースフォルダ内のソリューションファイル(Simutrans.sln)を開く。
この時、コンパイラとライブラリの更新について聞かれるので、更新するを選んでください。 - ソリューションエクスプローラのプロパティを開き(レンチのアイコン)、「構成プロパティ→VC++ディレクトリ」を開きます。
インクルードディレクトリに以下の場所に入っている *.hファイル の入ったディレクトリを追加します。
ライブラリディレクトリに以下の場所にある *.libファイル *.aファイル *.dllファイル の入ったディレクトリを指定します。
- OpenTTDのライブラリ: \(展開先)\win32\library
- pthreadのライブラリ: \(ダウンロード先)\lib\x86 と \(ダウンロード先)\dll\x86
- libbz2.libはさっきと同じように、pthreadのところへ入れてしまいましょう
- ソリューションエクスプローラの「構成プロパティ→リンカー→コマンドライン」を開き、追加オプションに「/SAFESEH:NO」と入力してください。
- 一箇所、ソースをいじるところがあります。
- 「ビルド(B) → ソリューションのビルド」をクリックし、ビルドします。
エラーが無ければ、Debugフォルダ内にSimutrans.exeが出来ています。
nightly buildからWindows/GDIの「必須DLL他ファイル一式同梱」をダウンロードし、その展開先にさっきのSimutrans.exeを入れてください。
なお、 \(pthreadのダウンロード先)\dll にある pthreadVC2.dll が無いと動きません。
VisualStudio2012でビルドする(64bit)
注意: なぜか保存・再開できません
基本的には、32bitと同じですが、以下の点が異なります。
ライブラリディレクトリを以下のように指定する。
- OpenTTDのライブラリ: \(展開先)\win64\library
- pthreadのライブラリ: \(ダウンロード先)\lib\x64 と \(ダウンロード先)\dll\x64
ソリューションプラットフォームの変更
Bzip2をコンパイルする
- bzip2のソースコードをダウンロードする。
- ソリューションプラットフォームを「x64」にし、ビルドする
- Debugフォルダ内のlibbz2.libを32bitと同じように配置する
これでとりあえず、ビルドできるはずです。
コンパイルが終わったらSimutrans.exeが出来ます。- libbzip2.dllがいると言われるので、コンパイルしたフォルダ内のlibbzip2.dllをコピーする
- 「\(pthreadのダウンロード先)\dll\x64」内の「pthreadGC2.dll」と「pthreadVC2.dll」も必要です。
- 32bitとは共存できません