我试图在学习通用lisp的同时使用CLX,因为我认为如果我有一个实际的、切实的、实际的结果,那么学习CLX会更有效不幸的是,我不能让CLX工作在debian中安装了clispclisp-module-clx包之后,我遵循了the first bit of this tutorial
我想我只是对clisp的包/模块/等等加载系统产生了可怕的误解,但是我找不到任何资源来说明如何做到这一点。
口齿不清:

(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)

输出:there is no package with name "XLIB"
编辑:
我在代码的开头尝试了(require "clx"),但是我得到了#<PACKAGE COMMON-LISP> is locked

最佳答案

CLX系统很可能未安装您可以自己下载存档文件并配置ASDF以加载系统,但最简单的方法是首先安装Quicklisp然后,您可以执行:

(ql:quickload :clx)

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

关于module - 从包管理器安装后如何使用Common Lisp中的CLX/XLIB?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48565832/

10-10 13:50