Common lisp 无法在quicklisp中加载sdl gfx

Common lisp 无法在quicklisp中加载sdl gfx,common-lisp,sdl,quicklisp,Common Lisp,Sdl,Quicklisp,我一直在使用quicklisp安装lispbuilder sdl系列,但在sdl gfx中遇到错误: CL-USER> (ql:quickload "lispbuilder-sdl-gfx") To load "lispbuilder-sdl-gfx": Load 1 ASDF system:

我一直在使用quicklisp安装lispbuilder sdl系列,但在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]
我在macosx 10.6下使用slime+emacs+SBCL。我已通过以下链接安装了SDL.framework:

一个名为sdl_with_friends.zip的文件,并将内容放在/Library/Frameworks下。然而,它仍然抱怨找不到框架。
对此有什么想法吗?

错误在于无法加载SDL的动态库。对不起,我不太了解Mac电脑上的目录布局(这似乎是你工作的地方),所以我不能确切地告诉你如何解决这个问题。但是您应该在某个地方安装一个名为libSDL_gfx.dylib的文件(可能是此扩展名),错误消息表示CFFI找不到它。

在Mac OSX上安装lispbuilder sdl的最简单方法是启动SBCL并使用Quicklisp:

(ql:quickload "lispbuilder-sdl")
它可能会失败,但您可以编译位于“~quicklisp/dists/quicklisp/software/lispbuilder-20110619-svn/lispbuilder sdl/cocoaheloper”中的特定于OS-X的帮助程序库;只需将cd刻录到此目录并键入“make”

要验证是否有效,请尝试以下操作:

(ql:quickload "lispbuilder-sdl-examples")
(lispbuilder-sdl-examples:bezier)
另一个常见的问题是当您使用Emacs/SLIME时。cocoa位必须在主线程上运行,因此您必须调用如下内容:

#+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))))

使用自制软件,您可以
brew安装sdl\u gfx

谢谢,我绕过了这个问题,因为libSDL\u gfx不会阻止我运行sdl的示例。不知何故,这个问题仍未解决。把它留在这里,以后再看。