3

我正在尝试使用自制的 .asd 文件加载我的项目,但不知何故 asdf 无法识别 .asd 文件也应该是项目的根目录,因此导致出现错误,例如路径在failed to find the TRUENAME of /home/$USER/rel-path-to-file哪里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 配置和安装。因此,我还使用符号链接将项目“安装”到 quicklisp 中,这也很有效。它确实找到了 .asd 文件,ql:quickload :name但仍然不使用包含 .asd 文件的目录作为项目根目录。

我怎样才能解决这个问题?

4

2 回答 2

2

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

于 2012-06-14T11:04:32.003 回答
1

请参阅 asdf:system-relative-pathname。

于 2012-06-30T07:20:58.963 回答