-
Notifications
You must be signed in to change notification settings - Fork 20
for_windows
で msys2-x86_64-20160205.exe (または似たような名前) のほうを押してダウンロードしてインストールします。
インストール後は "MinGW-w64 Win64 Shell" のなかで作業します。Msys2は3つのシェルがありますが、インストールしてすぐ出てくるのは"Msys2 Shell"であり、間違ってもこれを使ってはいけません。 インストール完了時にウインドウが開きます。スタートメニューにも入ります。
インストールできたらとりあえずアップデートします。
$ update-core
(追記: pacmanのバージョンがpacman 5.0.1.6403以降、あるいは5.0.1-1以降がインストールされている場合は代わりに $ pacman -Syuu でアップデートします。詳しくはこちらのリンクを参照(MSYS2における正しいパッケージの更新方法))
アップデートが終ったら閉じるボタンでウインドウを閉じます。残りのパッケージのアップデートをします。
$ pacman -Su
そのあと必要なパッケージのインストール。
$ pacman -S git
$ pacman -S gcc
$ pacman -S make
$ pacman -S mingw64/mingw-w64-x86_64-boost
なんと面倒なことにこのmingw64のGCC(すくなくとも4.9.2)にはバグがあり、手動でパッチが必要です。 GCCのバージョン5.3.0(2016/05/05現在)ではこのパッチ当ては必要ありません。
C:\msys64\usr\lib\gcc\x86_64-pc-msys\4.9.2\include\c++\x86_64-pc-msys\bits\c++config.h
ファイルで、中ほどの
/* #undef _GLIBCXX_USE_C99 */
の行を
#define _GLIBCXX_USE_C99 1
に変更して保存してください。
$ git clone https://github.com/istellartech/OpenTsiolkovsky
※ただしこの方法はReadonlyです。
$ cd OpenTsiolkovsky
$ make
でコンパイルできます。色々エラーはきますがたぶんできます。
$ cd bin
$ ./OpenTsiolkovsky.exe
で実行。
通常は、C:/msys64/home/(自分のユーザー名) 以下に生成されます。 現在のディレクトリをWindowsのパスで知りたいときは、 $ pwd -W とすると良いようです。
MinGW64でコンパイルしたものはそのままではMsys2(MinGW64)上でしか動きませんが、下記DLLを.exeファイルと同じディレクトリに入れるとダブルクリックやコマンドプロンプト(cmd.exe)などでも動きます。
- libwinpthread-1.dll
- libgcc_s_seh-1.dll
- libstdc++-6.dll
これは通常のインストールでは C:\msys64\mingw64\bin の中にあります。 Windowsバイナリを配布する際はこれらDLLを同梱すると良いです。
(0916追記: 上記以外のDLLを要求されることがあります。 C:\msys64\mingw64\bin と C:\msys64\usr\bin を探せば揃うはずです。)