LispWorksならCommon Lispで作ったアプリケーションの配布も簡単です。
arrow_delivery.lspで保存しました。
(in-package "CL-USER") (load-all-patches) (compile-file "arrow" :load t) ;(load (current-pathname "arrow" nil)) (deliver 'draw-arrow-demo "draw-arrow-demo" 5 :interface :capi)
arrow.lspがアプリケーションが記述されたlispファイル名、draw-arrow-demoが起動時に呼び出す関数名です。
2)アプリケーションビルダーでスクリプトを読み込む
Build script に先ほど用意したarrow_delivery.lspを指定します。
Saved imageは最後に作った実行ファイルを表示しているので、exeファイルを作るまでは、関係のないファイルが表示されています。左上の Build the application using the script ボタンを押すと自動的にexeファイルが作成されます。
コマンドラインからも同じ事が出来ます。
c:\home\Dropbox\clisp>"c:\Program Files (x86)\LispWorks\lispworks-5-1-0-x86-win32.exe" -build arrow_deriver.lsp
3)exeファイルの完成
http://dl.dropbox.com/u/12131668/arrow_demo.zip
動作させるのに必要なランタイムライブラリが無い場合は、こちらをみてください。
LispWorks Delivery User Guide 7.1 Runtime library requirement
4)はまったところ
最初はこのようなエラーが出て、exeファイルを作ってくれませんでした。
SYSTEM::START-FUNCTION
Quitting because of error: In a call to MP:ENSURE-PROCESS-CLEANUP: NIL is not of type MP:PROCESS.
arrow.lspの最後でアプリケーションを呼び出していたので、その部分をコメントアウトしたらexeファイルが作成されました。
; アプリケーション起動 ;(draw-arrow-demo)