2012年7月4日水曜日

[Racket]スタンドアローンな実行ファイルを作成する

Racketで作成したプログラムをパッケージ化したり実行ファイルにしたりするには、Racketのインストール時についてくるracoというツールを使います。
たとえば、画面に"はろーわーるど"と表示するだけのGUIプログラムを書いてみます。
#lang racket

(require racket/gui/base)

(define top-level
  (new frame%
       [label "GUI Test"]
       [min-width 200]))

(define hello
  (new message%
       [parent top-level]
       [label "はろーわーるど"]
       [min-height 20]))

(send top-level show #t)
このソースコードのファイル名を"guitest.rkt"すると、コマンドラインから
> racket guitest.rkt
と入力すれば実行できます。

このソースコードを実行ファイルにする場合は、racoコマンドを実行します。
> raco exe --gui guitest.rkt
raco exeコマンドの実行結果として、"guitest.exe"という実行ファイルが作成されます。(Windowsの場合)
さらに、実行ファイルを他のマシンでも実行できるようにするために再度racoコマンドを実行します。
> raco distribute dirname guitest.exe
raco distributeコマンドの実行結果として、"dirname"ディレクトリが作成され、ディレクトリ以下には"guitest.exe"と必要なライブラリ類がまとめられます。
これで、"dirname"ディレクトリの内容を他のマシンにコピーして実行可能となります。(たぶん)

参考:

0 件のコメント:

コメントを投稿