common-lisp - 如何告诉asdf使用.asd文件的目录作为项目的根目录

标签 common-lisp asdf

我正在尝试使用自制的 .asd 文件加载我的项目,但不知何故 asdf 无法识别 .asd 文件也应该是项目的根目录,因此导致了类似 的错误未能找到/home/$USER/rel-path-to-file 的 TRUENAME 其中 rel-path-to-file 是相应文件的路径,相对于加载的.asd 文件。

这是我做的:

(push "path-to-project-directory-of-asd-file" asdf:*central-registry*)

然后

(asdf:load-system 'project-name)

它确实找到了我的 .asd 文件,但不知何故找不到它要加载的 .lisp 文件。

asdf 已经通过quicklisp 配置和安装。因此,我还使用符号链接(symbolic link)将项目“安装”到 quicklisp 中,这也很有效。它确实使用 ql:quickload :name 找到了 .asd 文件,但仍然没有使用包含 .asd 文件的目录作为项目根目录。

我该如何解决这个问题?

最佳答案

Lisp 路径名历来要求您在目录名后添加一个斜杠(有人告诉我这是因为操作系统是在我出生之前创建的),所以为了告诉 Lisp 您的目标必须以斜线结尾的目录。

关于common-lisp - 如何告诉asdf使用.asd文件的目录作为项目的根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11014292/

相关文章:

lisp - 在 Common LISP 中使用列表

lisp - 普通口齿不清 :KEY parameter use

Qt(通过 Common Lisp 的 qtools): QLineEdit does not activate on click but receives focus on TAB

shell - 如何使用sbcl使用shell命令

common-lisp - 通用 Lisp : A good way to represent grammar rules?

package - 重新定义已删除的包 (Common Lisp)

lisp - 如何使用 Quicklisp 安装软件包

common-lisp - ASDF 抛出系统过时条件

compilation - ECL - 为每个编译单元及其依赖项转储 c 源代码?

common-lisp - (ASDF 3) 如何将文件|组件标记为 "dirty"或需要重建?