1

我有一个使用 lispbuilder-sdl 的小型通用 lisp 项目。我想制作一个 lispbuilder-sdl 的分支,将其放入子目录并从中删除一些我不需要的东西。

我怎样才能做到这一点?

据我所知,quicklisp 可以加载当前目录、“local-projects”目录(在 quicklisp 自身安装到的任何文件夹中)中的项目,或从 Internet 下载它们。那么如何创建一个“子项目”,它是现有项目的一个分支(可以通过快速加载获得?)而不用 *.asd 文件污染顶级目录?

- 附加信息 -

我在 Windows 7 64 位上使用 32 位 clozure-cl。

当前项目开始使用此文件:

(ql:quickload "cffi")

(pushnew #P"bin/" cffi:*foreign-library-directories* :test #'equal)
(pushnew #P"build/bin/" cffi:*foreign-library-directories* :test #'equal)
(pushnew #P"build/bin/Debug/" cffi:*foreign-library-directories* :test #'equal)

(ql:quickload "game")

(defun start ()
    (game:main))

(defun reload ()
    (ql:quickload "game"))

(defun restart ()
    (reload)
    (game:main))

(start)
(quit)

game.asd 位于当前目录中,依赖项被下载到 quicklisp 目录并从那里加载。

4

1 回答 1

4

您放入 local-projects 文件夹的任何项目都将覆盖 Quicklisp 提供的版本。这是使用项目修改版本的最简单方法。

您可以通过查看https://github.com/quicklisp/quicklisp-projects来了解 Quicklisp 从何处获得项目。例如,lispbuilder 上游信息来自https://github.com/quicklisp/quicklisp-projects/blob/master/lispbuilder/source.txt

于 2013-09-09T00:16:40.400 回答