2

簡単な hello world (hello.lisp) コードを作成しました。

(defun main ()
    (format t "Hello,World"))

、CCL のネイティブ実行可能コンパイルをテストするプログラム。CCL GUI からバッファーをコンパイルしてロードします (バージョン Clozure Common Lisp Version 1.10-store-r16266 (DarwinX8664) を使用)。

私がそれをテストするとき:

    ? (main)
    Hello,World
    NIL
    ?

主な機能を見つけます。でコンパイルを続行すると: (save-application "/tmp/h" :toplevel-function #'main :prepend-kernel t)、操作が続行され、CCL が終了します。

ファイルが作成され、約 56 MB になります。実行しようとすると、次の出力が得られます。

エラー: 汎用関数に適用できるメソッドがありません: # 引数を指定して呼び出された場合: (# :NOTE-CURRENT-PACKAGE #) 実行中: #、プロセス toplevel(6) 内。エラー: ジェネリック関数に適用できるメソッドがありません: # 引数を指定して呼び出された場合: (# :BREAK-OPTIONS-STRING T) 実行中: #、プロセス toplevel(6) 内。エラー: ジェネリック関数に適用できるメソッドがありません: # 引数を指定して呼び出された場合: (# :BREAK-OPTIONS-STRING T) 実行中: #、プロセス toplevel(6) 内。エラー: ジェネリック関数に適用できるメソッドがありません: # 引数を指定して呼び出された場合:

そして、エラーが進行します。私は何を間違っていますか?バグですか?

ありがとうございました

4

2 に答える 2

0

Mac OS X で Clozure CL の実行可能ファイルを作成するには:

  • 非 GUI アプリケーションの場合、リポジトリから Clozure CL をインストールする必要があります: Clozure CL のインストールそこからCCLをダウンロードする必要があります。このバージョンには、GUI がロードされていない実行可能な Lisp (カーネル + イメージ) が付属しています。

  • GUI アプリケーションの場合は、 Application Builderを使用する必要があります。対応する機能はccl::build-application. Mac OS X 上の GUI アプリケーションには、いくつかのインフラストラクチャが必要であり、それが作成されます。CCL には、サンプル アプリケーションが含まれていることに注意してくださいccl/examples/cocoa/currency-converter/。個人的には、レポジトリから CCL を使用することも好みます。これは通常、Mac アプリケーション ストアのバージョンよりも少し新しいものです。

于 2014-11-23T16:02:18.590 に答える