Module 从包管理器安装CLX/XLIB后,如何从Common Lisp使用它?

Module 从包管理器安装CLX/XLIB后,如何从Common Lisp使用它?,module,lisp,common-lisp,x11,clisp,Module,Lisp,Common Lisp,X11,Clisp,我试图在学习CommonLisp时使用CLX,因为我认为如果我有一个实际的、有形的、实用的结果,学习CLX会更有效。不幸的是,我无法让CLX工作。在debian中安装了clisp和clisp模块clx包之后,我遵循了这一点 我想我只是严重误解了clisp的包/模块/等加载系统,但我找不到任何资源来说明如何做到这一点 foo.lisp: (defun pop-up-window (life-time &optional (host "")) (let* ((display (xlib:

我试图在学习CommonLisp时使用CLX,因为我认为如果我有一个实际的、有形的、实用的结果,学习CLX会更有效。不幸的是,我无法让CLX工作。在debian中安装了
clisp
clisp模块clx
包之后,我遵循了这一点

我想我只是严重误解了clisp的包/模块/等加载系统,但我找不到任何资源来说明如何做到这一点

foo.lisp

(defun pop-up-window (life-time &optional (host ""))
  (let* ((display (xlib:open-display host))
         (screen (first (xlib:display-roots display)))
         (root-window (xlib:screen-root screen))
         (my-window (xlib:create-window
                      :parent root-window
                      :x 0
                      :y 0 
                      :width 200
                      :height 300)))
    (xlib:map-window my-window)
    (xlib:display-finish-output display)
    (format t "it should be here ~%")
    (sleep life-time)
    (xlib:destroy-window my-window)
    (xlib:close-display display)
)

(pop-up-window 10)
输出
没有名为“XLIB”的包

编辑:


我在代码开始时尝试了
(需要“clx”)
,但我发现
#被锁定了

clx系统很可能没有安装。您可以自己下载归档文件并配置以加载系统,但最简单的方法是先安装。然后,您可以执行:

(ql:quickload :clx)

这将下载、编译和加载所需的系统及其所有依赖项。每次重新启动Lisp环境时都应执行此步骤。一旦您需要多个库,您还应该定义自己的系统(例如在
~/quicklisp/localprojects/
)并加载该库。

该教程似乎有点过时。现在,您应该使用来安装库。我还建议在Linux上使用SBCL(包管理器版本可能已经很旧了)。@jkiiski谢谢,这太容易了!不过,我不喜欢ql:quickload命令每次运行时在脚本顶部生成几行“加载”消息://
(ql:quickload“library”:silent)
,并且不会有任何消息