この2年ほど、Crystal言語は精力的にWindowsへの対応を続けている。
これは HertzDevil さんの大活躍によるところが大きい。
だいたいRubyのコードを書くと、実行可能なexeファイルが生成されるのは、自分にとってはほとんど夢のような話で、実に素晴らしい時代になったと感じる。それでも、C言語のライブラリを呼び出す時は使いにくい箇所が多いけれども、それはWindowsを使う限り仕方がないところである……
と思っていたら、1.15 から Crystal が Mingw に来ていた! これはすごく嬉しい!!
というのは、これまでCrystalをWindowsにインストールしようと思ったら、Visual Studio 2022 とか入れて、Microsoft謹製のコンパイラをインストールしなくちゃいけなかったのである。
基本趣味でプログラミングしているので、Linuxも体系的に勉強したことはないのに、Windowsなんかさらに何もわからなくて触りたくはないのである。Mingw使えるならもちろんMingwを使いたい!!
pacman -S mingw-w64-ucrt-x86_64-crystal mingw-w64-ucrt-x86_64-shards
試しに自作ネタツールのlolcatをコンパイルしてみた。
git clone https://github.com/kojix2/lolcat.cr
cd lolcat.cr
shards build --release --static
ls bin
-a---- 2025/02/14 14:35 3608454 lolcat.exe
最高だ。EXEファイルが1個あるだけ!
libevent.dll も、libgc.dll もないではないか!
あとは簡単に mingw のライブラリにリンクできるようにする努力が鋭意行われているので、半年ぐらいすると、CrystalがWindowsでもかなり自由に使えるようになっている気がする。
WindowsユーザーだからCrystalになかなか手が出なかった人もいるかもしれませんが、これからはCrystalが使えるようになっていくと思います。
この記事は以上です。