2011-07-16 4 views
3

J'ai installe la famille lispbuilder-sdl avec quicklisp et l'erreur rencontrée dans sdl-GFX:Impossible de charger sdl-GFX dans quicklisp

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] 

J'utilise la boue + emacs + sbcl sous MacOSX 10.6. J'ai installé SDL.framework de ce lien:

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

un fichier appelé sdl_with_friends.zip et mettre les choses sous/Bibliothèque/Frameworks. Cependant, il se plaint encore de ne peut pas trouver de cadre. Une idée à ce sujet?

Répondre

0

L'erreur se plaint qu'il ne peut pas charger la bibliothèque dynamique pour SDL. Je suis désolé - je ne sais pas grand-chose sur la disposition des répertoires sur les macs (qui semble être l'endroit où vous travaillez), donc je ne peux pas vous dire exactement comment résoudre ce problème. Mais quelque part, vous devriez avoir installé un fichier appelé libSDL_gfx.dylib (probablement cette extension) et le message d'erreur signifie que CFFI n'arrive pas à le trouver.

+0

Merci homme, j'avais contourner ce problème puisque libSDL_gfx ne me empêchera pas de Exemples d'exécution de sdl. D'une certaine manière, le problème reste entier. Laissez-le ici pour un examen ultérieur. – walkmansk

2

Le moyen le plus simple d'installer lispbuilder-sdl sur Mac OSX est de tirer jusqu'à SBCL et utiliser Quicklisp:

(ql:quickload "lispbuilder-sdl") 

Il échouera probablement, mais vous pouvez ensuite compiler la bibliothèque d'aide spécifique située dans OSX "~ quicklisp/dists/quicklisp/logiciel/lispbuilder-20110619-svn/lispbuilder-sdl/cocoahelper"; juste cd dans ce répertoire et tapez « make »

Pour vérifier cela a fonctionné, essayez ceci:

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

Une autre Gotcha commune est lorsque vous utilisez Emacs/BOUE. Les bits de cacao doivent exécuter sur le thread principal, donc vous devez appeler les choses comme ceci:

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

utilisant homebrew vous pouvez brew install sdl_gfx