我有這個ECL-make.lisp:(stumpwm-system::*components*
是我除了stumpwm.asd
, 用來生成該文件中的ASDF組件和文件的上述 正確排序列表)ECL如何在可執行文件中包含ASDF依賴項?
(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)))
它只是失敗:
... 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在哪裏可以找到 這些),我可以踢出並加載相關性。但這應該是可能的。
相關[如何發佈asdf/quicklisp依賴與一個ECL應用程序一起](http://stackoverflow.com/questions/34062166/how-to-distribute-the-asdf-quicklisp-dependencies -along-with-an-app-compiled-wit) – smokeink 2015-12-03 11:03:23