Porting to Windows · crystal-lang/crystal Wiki
あらかじめpcre.lib, gc.libをVSでビルドしておく
WSL上のLinux crystalを使ってクロス実行してWindows用の.oを生成
.oをWindows側にコピーしてcl(VC++)を使ってexeをビルドする
Install libraries
VS2017があれば大体OK。
Hello World
以下のコマンドをMac OR Linuxで実行。
code:bash
$ echo 'puts "Hello world!"' > hello_world.cr
$ bin/crystal build --cross-compile -Dgc_none --target x86_64-pc-windows-msvc hello_world.cr
生成された.oをWindows上のpcre.libとgc.libと同じ場所にコピーして、clでリンクするとhello_world.exeができる。
code:dos
cd C:\Crystal\
cl "hello_world.o" "/Fehello_world" pcre.lib gc.lib libcmt.lib
hello_world.exe
Hello world!
VS2019
VS2019だとコマンドが変わる。
crystal-windows Script
sshを経由すれば全てWSL上で完結させることもできる。