使用GPRBuild,我创建了一个名为Lib
. 中的所有包都Lib
驻留在包Base
中,我将其用作基本包:拥有一个基本包Base
。例如,如果我要Apple
在我制作的任何库或应用程序中创建包,它将被写成package Base.Apple
.
这个问题,使用 GPRBuild。为了把东西放在Base
包下,它需要存在。因此,在 GPRBuild 库项目Lib
中,我有一个文件base.ads
表示 package.json 的存在Base
。然后在我使用库的项目中Lib
,我们将其称为Proj
,我也将我所有的包放在包下Base
(里面的包Proj
)。为了做到这一点,我们需要为它创建一个包含包定义的base.ads
文件, .Proj
Base
让我们看一下gpr
项目文件:
with "lib.gpr";
project Proj is
-- ...
end Proj;
由此产生了问题;我们突然有两个文件,都称为base.ads
,都定义了Base
包,每个项目中都有一个:库项目Lib
和Proj
使用库的项目Lib
。因为我们有两个包(和它们的文件)命名相同,所以在编译时我们会得到这个错误,这并不奇怪:
unit "base" cannot belong to several projects
问题是:有没有办法在多个项目中拥有相同的基础包?然后通过导入 ( with
) 链接在一起的项目。如果它应该被证明是可能的,它是如何实现的?