3

lispbuilder-sdlファミリをquicklispでインストールしていて、sdl-gfxでエラーが発生しました:

CL-USER> (ql:quickload "lispbuilder-sdl-gfx")
To load "lispbuilder-sdl-gfx":                                                  
  Load 1 ASDF system:                                                           
    lispbuilder-sdl-gfx                                                         
; Loading "lispbuilder-sdl-gfx"                                                 
...........;                                                                    
           ; compilation unit aborted                                           
           ;   caught 1 fatal ERROR condition  

Unable to load any of the alternatives:                                         
   ("libSDL_gfx.dylib" (:FRAMEWORK "SDL_gfx"))
   [Condition of type CFFI:LOAD-FOREIGN-LIBRARY-ERROR]

macosx10.6ではslime+emacs+SBCLを使用しています。このリンクからSDL.frameworkをインストールしました:

http://thirdcog.eu/apps/frameworks#glew

sdl_with_friends.zipというファイルを作成し、/ Library/Frameworksの下に配置します。しかし、それでもフレームワークが見つからないという不満があります。これについて何か考えはありますか?

4

3 に答える 3

2

Mac OSXにlispbuilder-sdlをインストールする最も簡単な方法は、SBCLを起動してQuicklispを使用することです。

(ql:quickload "lispbuilder-sdl")

おそらく失敗しますが、「〜quicklisp / dists / quicklisp / software / lispbuilder-20110619-svn / lispbuilder-sdl/cocoahelper」にあるOS-X固有のヘルパーライブラリをコンパイルできます。このディレクトリにcdして、「make」と入力するだけです。

それが機能したことを確認するには、次のことを試してください。

(ql:quickload "lispbuilder-sdl-examples")
(lispbuilder-sdl-examples:bezier)

もう1つの一般的な落とし穴は、Emacs/SLIMEを使用している場合です。ココアビットはプライマリスレッドで実行する必要があるため、次のようなものを呼び出す必要があります。

#+darwin #+sb-thread
(let ((thread (first (last (sb-thread:list-all-threads)))))
  (sb-thread:interrupt-thread thread #'(lambda () (ql:quickload "lispbuilder-sdl-examples")))
  (sb-thread:interrupt-thread thread #'(lambda () (lispbuilder-sdl-examples:bezier))))
于 2012-05-20T13:27:49.357 に答える
0

エラーは、SDLのダイナミックライブラリを読み込めないことを訴えています。申し訳ありませんが、Macのディレクトリレイアウト(作業している場所のようです)についてはよくわかりません。そのため、これを修正する方法を正確に説明することはできません。しかし、どこかにlibSDL_gfx.dylib(おそらくこの拡張子)というファイルをインストールする必要があり、エラーメッセージはCFFIがそれを見つけられないことを意味します。

于 2011-07-18T18:02:26.997 に答える
0

自作を使用してあなたができるbrew install sdl_gfx

于 2012-08-25T03:23:41.360 に答える