我一直在使用 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:
http://thirdcog.eu/apps/frameworks#glew
一个名为 sdl_with_friends.zip 的文件,将其放在/Library/Frameworks 下。但是它仍然提示找不到框架。 对此有什么想法吗?
最佳答案
在 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)
另一个常见问题是当您使用 Emacs/SLIME 时。 cocoa bits 必须在主线程上运行,所以你必须调用这样的东西:
#+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))))
关于common-lisp - 无法在 quicklisp 中加载 sdl-gfx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6714714/