GNAT 社区版中没有 GNATtest 吗?

No GNATtest in GNAT Community Edition?

当我尝试在 GNAT 2020 社区版(Windows 10 64 位)中生成单元测试时,我收到缺少 gnattest 工具的错误:could not locate gnattest。 Ubuntu 20.04(在 WSL 中)使用包 gnat-10:could not locate x86_64-linux-gnu-gnattest-10.

如 AdaCores 网站 (https://www.adacore.com/gnatpro/comparison) 所示,GNATtest 不是 GNAT 2020 社区版的一部分吗?

是 2020 社区版 gnattest 不包括在内。主要原因:gnattest是基于不再维护的库ASIS的工具。 AdaCore 正在转向 libadalang 库,目前 gnattest 是这些变化的受害者。它迟早会回到社区版(届时将被重写为使用 libadalang)。资料来源:我遇到了同样的问题,我从 AdaCore 得到了这个答案:)

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

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

有关信息,缺少 gnatelim,因为 - 对于使用 GNU 链接器的目标 - -ffunction-sections-fdata-sections-gc-sections 执行相同的工作

在 Ubuntu 上,您可以使用以下命令安装 asis 应用程序:sudo apt install asis-programs