假设我们有以下先决条件:
(quickproject:make-project "lib1")
(quickproject:make-project "lib2")
;;;; Modify lib1/package.lisp like that:
(defpackage #:lib1
(:use #:cl)
(:export #:symbol1))
;;;; Modify lib2/package.lisp like that:
(defpackage #:lib1
(:use #:cl)
(:export #:symbol2))
(quickproject:make-project "project1")
;;;; Edit the project1's asdf:defsystem so that it has the following dependencies:
:depends-on (:lib1 :lib2)
加载project1并检查lib1软件包,您会注意到其中同时包含symbol1和symbol2 。
含义:
我可以通过采用像Java中使用的那样的包命名约定(带有长定界名称)来解决当前的问题。但是,这似乎是一个应该作为社区解决的问题。我们需要适用于所有CL库的通用解决方案。那会是什么?