如何在目录中组织Ada项目?

如何在目录中组织Ada项目?,ada,Ada,如何加载两个名称相同但位于不同文件夹中的包 例如: /src/alpha/foopackage.ads /src/beta/foopackage.ads 然后,我想使用foopackages,使用: with alpha.foopackage; with beta.foopackage; 此外,如果你有任何关于在Ada中组织项目的其他提示,请写信。网上关于Ada项目组织的信息不多 你已经解决了这个问题 src/alpha/foopackage.ads包含: package alpha.f

如何加载两个名称相同但位于不同文件夹中的包

例如:

/src/alpha/foopackage.ads
/src/beta/foopackage.ads
然后,我想使用foopackages,使用:

with alpha.foopackage; 
with beta.foopackage; 

此外,如果你有任何关于在Ada中组织项目的其他提示,请写信。网上关于Ada项目组织的信息不多

你已经解决了这个问题

src/alpha/foopackage.ads包含:

package alpha.foopackage is

   ...

end alpha.foopackage;
package beta.foopackage is

   ...

end beta.foopackage;
而src/beta/foopackage.ads包含:

package alpha.foopackage is

   ...

end alpha.foopackage;
package beta.foopackage is

   ...

end beta.foopackage;
现在,如果使用GNAT及其默认命名约定,您将遇到一个临时问题。此命名约定要求文件分别命名为alpha-foopackage.ads和beta-foopackage.ads


如果你坚持使用foopackage.ads作为文件名,这个惯例可以改变。关于GNAT,请参见,或。

这几乎是导致以下结果的问题的重复

然而,命名还有另一个问题,那就是GNAT(我想你是在使用GNAT?)有一个问题(有很多方法可以替代这个约定,但是你需要一个好的理由来麻烦)

因此,无论您选择将源文件放入哪个目录,都应该分别命名为
alpha foopackage.ads
beta foopackage.ads