gpt4 book ai didi

lisp - ASDF 输出重定向

转载 作者:太空宇宙 更新时间:2023-11-03 18:53:44 26 4
gpt4 key购买 nike

我想设置 ASDF 存放编译文件的目录。我更喜欢用 shell 脚本来做。根据this page ,应该定义环境变量 ASDF_OUTPUT_TRANSLATIONS

好的,这里是:

$ export ASDF_OUTPUT_TRANSLATIONS="$HOME/.cache/common-lisp/my-dir/"

但是当我尝试测试配置时,它不起作用:

$ clisp -x "(asdf:compile-system :my-system)"

输出:

;; Loading file /home/mark/.clisprc.lisp ...
;; Loading file /home/mark/quicklisp/setup.lisp ...
*** - Uneven number of components in source to destination mapping:
"/home/mark/.cache/common-lisp/my-dir/"
Bye.

再见。好吧,这是可能的输出之一。我尝试为 ASDF_OUTPUT_TRANSLATIONS 分配很多值。偶数和奇数。小而大。没有成功。如果有此类配置的示例,这将方式更容易,但我找不到。

还有一个问题是不知道ASDF把所有东西放到一个目录下,编译的系统会不会覆盖彼此同名的文件。我真正想要的是临时设置 shell 脚本的输出目录,这样无论源文件在哪里,每个文件都将位于可预测的位置。

最佳答案

我成功了:

$ export ASDF_OUTPUT_TRANSLATIONS="/:$HOME/.cache/common-lisp/my-dir/"

注意 1:目标目录可能不存在:在这种情况下 ASDF 将创建它。

注意 2:不能在该字符串中使用 *** 等符号。目录 / 表示所有可能的目录。

注意 3:ASDF 将在 my-dir 中创建子目录,如下所示:

/home/mark/.cache/common-lisp/my-dir/home/mark/path/to/source/files/

这不是我想要的,但由于我可以在构建之前检测到源文件的位置,方法是将它们放入我的 shell 脚本所在目录的子目录中,所以这不是一个关键问题。

关于lisp - ASDF 输出重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25323394/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com