如何使用 Common Lisp (Clozure CL) 库?
How can I use a Common Lisp (Clozure CL) Library?
我正在 Mac 上学习 Common Lisp (Clozure CL),想创建一个简单的 GUI。我已经从 CLiki 下载了 "ltk" 库并将其放入根级别的项目目录中(我假设我必须这样做,因为我找不到初学者的说明)。
"LTK - a Lisp binding to the Tk toolkit" 文档的第 4 页指出,在使用 (load "ltk")
加载库之前,应使用 (compile-file "ltk")
编译库。但是,我收到此错误消息:
Error: File #P"/Users/myName/Desktop/lisp_experiments/GUI_EXAMPLE/ltk" not found
While executing: CCL::FCOMP-FIND-FILE, in process Listener(4).
Type cmd-. to abort, cmd-\ for a list of available restarts.
Type :? for other options.
我也使用了完整的文件路径名,但得到了同样的错误。
我做错了什么?
感谢您的帮助。
马克
ps - 网上几乎没有关于这类东西的菜鸟教程,可以让用户一步步完成整个过程。
I have downloaded the "ltk" library from CLiki and put it into the project directory at the root level.
如今,很少需要执行此步骤,因为可以使用 Quicklisp (see also this gif) 轻松访问库。
基本上,您应该能够安装 Quicklisp 和 运行 以下内容:
(ql:quickload "ltk")
以上下载、编译和安装 Lisp 库,但不一定是所需的 C 库,您可能需要单独安装。如果以上工作没有问题,那么以下也应该工作:
(ltk:ltktest)
Quicklisp 依赖于用 ASDF (Another System Definition Facility). The best practices 文档描述的 Lisp 系统,阅读起来也很有趣。
在 LTK 的情况下,您可以看到 ltk.asd
只指定了一个组件,ltk.lisp
。当您安装名为 "LTK" 的 system 时,quicklisp 将完成所有必要的工作来安装其依赖项,然后编译并加载 ltk.lisp
,如手册中所述。
不清楚的是为什么您的显式 compile-file
失败了。
我在我的机器上找到了 ltk.lisp
文件;它的路径名看起来像:
#P"/home/user/quicklisp/dists/quicklisp/software/ltk-20150113-http/ltk.lisp"
果然,使用该路径名调用 compile-file
有效,并且 returns 另一个以 .fasl
结尾的路径名(对象格式)。加载返回的路径名加载库。请提供有关错误的更多信息,以便我们帮助您调试此问题。
我正在 Mac 上学习 Common Lisp (Clozure CL),想创建一个简单的 GUI。我已经从 CLiki 下载了 "ltk" 库并将其放入根级别的项目目录中(我假设我必须这样做,因为我找不到初学者的说明)。
"LTK - a Lisp binding to the Tk toolkit" 文档的第 4 页指出,在使用 (load "ltk")
加载库之前,应使用 (compile-file "ltk")
编译库。但是,我收到此错误消息:
Error: File #P"/Users/myName/Desktop/lisp_experiments/GUI_EXAMPLE/ltk" not found While executing: CCL::FCOMP-FIND-FILE, in process Listener(4). Type cmd-. to abort, cmd-\ for a list of available restarts. Type :? for other options.
我也使用了完整的文件路径名,但得到了同样的错误。
我做错了什么?
感谢您的帮助。
马克
ps - 网上几乎没有关于这类东西的菜鸟教程,可以让用户一步步完成整个过程。
I have downloaded the "ltk" library from CLiki and put it into the project directory at the root level.
如今,很少需要执行此步骤,因为可以使用 Quicklisp (see also this gif) 轻松访问库。 基本上,您应该能够安装 Quicklisp 和 运行 以下内容:
(ql:quickload "ltk")
以上下载、编译和安装 Lisp 库,但不一定是所需的 C 库,您可能需要单独安装。如果以上工作没有问题,那么以下也应该工作:
(ltk:ltktest)
Quicklisp 依赖于用 ASDF (Another System Definition Facility). The best practices 文档描述的 Lisp 系统,阅读起来也很有趣。
在 LTK 的情况下,您可以看到 ltk.asd
只指定了一个组件,ltk.lisp
。当您安装名为 "LTK" 的 system 时,quicklisp 将完成所有必要的工作来安装其依赖项,然后编译并加载 ltk.lisp
,如手册中所述。
不清楚的是为什么您的显式 compile-file
失败了。
我在我的机器上找到了 ltk.lisp
文件;它的路径名看起来像:
#P"/home/user/quicklisp/dists/quicklisp/software/ltk-20150113-http/ltk.lisp"
果然,使用该路径名调用 compile-file
有效,并且 returns 另一个以 .fasl
结尾的路径名(对象格式)。加载返回的路径名加载库。请提供有关错误的更多信息,以便我们帮助您调试此问题。