Rustの環境を作ってcargo build --release
すると、デフォはその環境に合わせた実行ファイルができます。
たとえば、Windowsでやったら.exeが吐き出されます。
他環境に配るのに、毎回その環境でビルドするのも面倒すぎるので、何かしら方法は・・・。
やり方
環境はM2で、そこからMac(Intel)用とWindows用に。。。という感じで考えてください。
ターゲットを追加してやる必要があるので、まずは一覧を見ましょう。
ターゲットの一覧は以下のコマンドで見ることができます。
$ rustup target list
次にターゲットを追加します。
Windows用にはmingw-w64
がいるのでこれも入れます。
$ rustup target add x86_64-apple-darwin $ brew install mingw-w64 $ rustup target add x86_64-pc-windows-gnu
実際にビルドするときには--target
で入れたやつを指定すればOK。
$ cargo build --target x86_64_apple-darwin --release $ cargo build --target x86_64_pc-windows-gnu --release
これでOKです。
そんなことより、cross使えば楽そう。
(target addの手間が省けそう)
ひとまず、これで配れるようにはなりました。