Ada和GNATStudio的路径问题

Ada和GNATStudio的路径问题,ada,Ada,我有以下代码: with Util.Serialise; package body blah is Reader : Util.Serialize.IO.JSON.Parser; Mapper : Util.Serialize.Mappers.Processing; end blah; 因此,编译器定义Reader的行是可以的,但是在下面的代码中,我得到了未在Serialize中声明的错误Mappers 这两个包都是Ada-Util安装的一部分,实际上都在同一个目录中

我有以下代码:

with Util.Serialise;
package body blah is

      Reader : Util.Serialize.IO.JSON.Parser;
      Mapper : Util.Serialize.Mappers.Processing;
end blah;
因此,编译器定义
Reader
的行是可以的,但是在下面的代码中,我得到了未在Serialize中声明的错误
Mappers

这两个包都是Ada-Util安装的一部分,实际上都在同一个目录中


这是一个路径问题吗?我用错东西了吗?这里发生了什么?

您需要使用Util.Serialize.Mappers
也是如此。

您还需要一个带有Util.Serialize.IO.JSON的
,不知道为什么没有在那里得到错误

可能认为
阅读器
是正确的,因为它被
映射器
错误隐藏

通常,在Ada中,如果您想让包可见,就必须给出完整的包名。因此,您的前两行应该是:

with Util.Serialize.IO.JSON;
with Util.Serialize.Mappers;
不只是

with Util.Serialise;
在这种情况下,您可以启用package
Utils.Serialize
,而不是您想要的两个