Common lisp 无法在quicklisp中加载sdl gfx
我一直在使用quicklisp安装lispbuilder sdl系列,但在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:
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的示例。不知何故,这个问题仍未解决。把它留在这里,以后再看。