GNAT社区版中没有GNATtest吗?

4
当我尝试在GNAT 2020社区版(Windows 10 64位)中生成单元测试时,我收到了一个缺少gnattest工具的错误:could not locate gnattest。使用gnat-10包在Ubuntu 20.04(WSL中)上也会出现同样的情况:could not locate x86_64-linux-gnu-gnattest-10
请问,GNATtest是否不是AdaCore网站上所示的GNAT 2020 Community Edition的一部分(https://www.adacore.com/gnatpro/comparison)?
3个回答

5

2020社区版中不包括gnattest。主要原因是: gnattest是基于不再维护的ASIS库的工具。AdaCore正在向libadalang库转移,目前gnattest是这些变化的牺牲品。当gnattest被重写为使用libadalang时,它将很快或以后回到社区版。来源:我也遇到了同样的问题,并从AdaCore得到了这个答案 :)

此刻,您可以从GNAT的旧版本中下载源代码包asis-2019-20190517-18AB5-src.tar.gz并自行编译。对我来说至少有效。


2
< p>AdaCore正在将注意力从ASIS转向他们自己的libadalang技术,而GNAT CE 2020不包括ASIS。

GNAT CE 2019中基于ASIS的应用程序为

gnat2xml
gnat2xsd
gnatcheck
gnatelim
gnatmetric *
gnatpp *
gnatstub *
gnattest

其中仅标有星号的部分在GNAT CE 2020中可用(至少对于macOS而言)。

如果您选择@thindil的答案,最好将ASIS工具安装在其自己的目录中,以避免覆盖gnatpp等内容。

值得注意的是,对于使用GNU链接器的目标,-ffunction-sections-fdata-sections-gc-sections执行了相当的工作,因此gnatelim不再需要。


2
在Ubuntu上,您只需运行以下命令即可安装asis应用程序:sudo apt install asis-programs。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接