ECL 如何在可执行文件中包含 ASDF 依赖项?
-
06-09-2019 - |
题
我有这个 ecl-make.lisp:
(asdf:oos 'asdf:compile-op :stumpwm) (defun system-objects (system) (loop for component in (asdf:module-components (asdf:find-system system)) for pathname = (asdf:component-pathname component) for directory = (pathname-directory pathname) for name = (pathname-name pathname) when (equal "lisp" (pathname-type pathname)) collect (make-pathname :directory directory :type "o" :name name))) (c:build-program "stumpwm" :lisp-files (concatenate 'list (system-objects :cl-ppcre) (system-objects :clx) (mapcar (lambda (component) (concatenate 'string component ".o")) stumpwm-system::*components*)) :epilogue-code '(unwind-protect (stumpwm:stumpwm) (ext:quit)))
(stumpwm-system::*components*
是我的补充 stumpwm.asd
,用于生成该文件中的ASDF组件以及上面的文件列表。)
它根本就失败了:
... same messages you get when (system-objects ...) are ... excluded from the c:build-program [it compiles in ... this case, but of course CL-PPCRE and CLX are unavailable.] An error occurred during initialization: Cannot find out entry point for binary file.
我只是要解决以前尝试引入的错误的地步。如果您构建了一个带有依赖性在内的ECL的程序,请告诉我您的工作方式。我看到如何在 stumpwm
开始(即使没有加载我的 ~/.eclrc
,告诉ASDF在哪里可以找到这些)。但是这个 应该 有可能。
不隶属于 StackOverflow