Невозможно загрузить SDL-GFX в QuickLisp - PullRequest
3 голосов
/ 16 июля 2011

Я устанавливал семейство 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]

Я использую slime + emacs + SBCL под macosx 10.6.Я установил SDL.framework по этой ссылке:

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

файл с именем sdl_with_friends.zip и поместил вещи в / Library / Frameworks.Однако он все еще жалуется на не может найти рамки.Есть идеи по этому поводу?

Ответы [ 3 ]

2 голосов
/ 20 мая 2012

Самый простой способ установить lispbuilder-sdl на Mac OSX - запустить SBCL и использовать Quicklisp:

(ql:quickload "lispbuilder-sdl")

Возможно, это не удастся, но вы можете скомпилировать специальную вспомогательную библиотеку OS-X, расположенную в "~ quicklisp / dists / quicklisp / software / lispbuilder-20110619-svn / lispbuilder-sdl / cocoahelper"; просто перейдите в этот каталог и введите «make»

Чтобы проверить, что сработало, попробуйте это:

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

Еще одна распространенная ошибка, когда вы используете 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))))
0 голосов
/ 25 августа 2012

используя доморощенный вы можете brew install sdl_gfx

0 голосов
/ 18 июля 2011

Ошибка жалуется на то, что она не может загрузить динамическую библиотеку для SDL.Извините - я не очень разбираюсь в макете каталогов на Mac (который, кажется, там, где вы работаете), поэтому я не могу точно сказать вам, как это исправить.Но где-то вы должны были установить файл с именем libSDL_gfx.dylib (возможно, это расширение), и сообщение об ошибке означает, что CFFI не может его найти.

...