ゼロ年代の亡霊

ゼロ年代口調を抑えきれない ※技術力要素はありません

Simutransをビルドする

Simutransをビルドします。
といっても
qiita.com
の記事の通りやるだけだったりしますが、何点か違う点もあり、
shingoushori.hatenablog.jp
のサイトも参考になります。
下の方のサイトで間違ってるのはmingw32.exeじゃなくてmingw64.exeを使うこと、あたりでしょうか。

流れとしては

  1. pacman -Syuuでとりあえずパッケージをアップデート
  2. pacman -S ほげほげ で必要なパッケージを入れる(Qiitaの記事の通りやるとgccが入らないのでpacman -S gccとかもやる)
  3. MakefileをQiitaの記事を参考にいじる
  4. ちょっとtweakしておく(msys64\mingw64\bin\windres.exe をコピーして、もう一個の方を x86_64-w64-mingw32-windres.exe と改名しておく)
  5. make

ぐらいな感じですがMakefileはちょっと最新版で変更があるので要点としては「-Wl,--large-address-aware」のオプションを外すことです。
あとsim.exe単体ではDLLが足りねえと怒られたりするので、sim.exeと同じフォルダに\msys64\mingw64\binの中のDLLをコピーして放り込んでやったりするとよいでしょう(雑解決)。

それからコンパイラに渡すフラグに-O2とか-msse -msse2とか付けておいても良いんだけど効果がどれくらいあるかは謎。

ところがどっこい、これで64ビットにはなるけど1コアしか使ってくれない。
なんでだろ~(死語(死歌?))
多分ソースコードに問題があるんじゃないかな~。

4Kで遊んだりすると一気にCPU使用率が上がるのでなかなか辛いものがありますね。
というわけで続報を待たれよ。