本文介绍了Quicklisp QUICKLOAD应该放在哪里?无处?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我在net.aservebordeaux-threads之上构建了一个应用程序.我的包裹声明可能看起来像这样:

Let's say I build an application on top of net.aserve and bordeaux-threads. My package declaration might look like this:

(defpackage :my-package
  (:use :cl :net.aserve :bordeaux-threads)
  (:export …))

我使用Quicklisp,所以我在编译程序包之前在SLIME中运行(ql:quickload "aserve") (ql:quickload "bordeaux-threads"),一切都很好.

I use Quicklisp, so I run (ql:quickload "aserve") (ql:quickload "bordeaux-threads") in SLIME before compiling my package, and everything is fine.

当然,明天我将再次启动SLIME,并且必须记住在编译之前先发布QUICKLOAD,否则我会遇到麻烦.

Of course, tomorrow I start up SLIME again and I have to remember to issue the QUICKLOADs before I compile, otherwise I'm in for trouble.

可以输入类似的内容

(eval-when (:compile-toplevel)
  (ql:quickload "aserve")
  (ql:quickload "bordeaux-threads"))

在我的软件包的顶部-这是我所做的开发工作-但我觉得对用户强制使用软件包管理器不是一个好主意.

at the top of my package—it's what I've done for development—but I have a feeling it's not a good idea to force a package manager on a user.

还有更好的选择吗?

推荐答案

在您的asd文件中,您应按以下方式定义depends实作:''

In your asd file, you should define the depends realtion as below:''

(asdf:defsystem #:aserve
 :serial t
 :depends-on (#:hunchentoot :hunchentoot-cgi
           #::bordeaux-threads
           #:parenscript)
 ...)

之后,您只需要(ql:quickload:aserve).

After then you just need to (ql:quickload :aserve) .

这篇关于Quicklisp QUICKLOAD应该放在哪里?无处?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-19 02:33