【问题标题】:Ada Web Server, cannot make simple hello worldAda Web Server,不能做简单的 hello world
【发布时间】:2016-10-04 00:49:33
【问题描述】:

所以我们下载了 Ada Web Server、GNAT Studio,并将它们放在适当的目录中。我们不确定出了什么问题,我们尝试了多个教程。具体来说,这个不起作用Installation issue with AWS for Ada

我们无法编译gnatmake -P hello.gpr 当它运行时它会熄灭

gcc -x -c  ada hello.gpr
hello.gpr:1:06: identifier expected
hello.gpr:2:01: compilation unit expected

这是我们的编译错误信息。我们已将 makefile.conf 中的前缀从 AWS 更改为正确的目录 C:\GNAT\2016

这里是我们主要尝试使用的教程,这个网站不会让我发布我们的其他资源。 http://www.adacore.com/adaanswers/gems/gem-29/

请告诉我如何让 hello_world 正常工作! Windows 10 GNAT/AWS 2016 是否有更好的指南?

编辑:

zlib.gpr 有错误,这正是我从 libre.adacore.com 下载的。

c:\GNAT\2016\Workspace\aws>gprbuild hello.gpr
zlib.gpr:19:06: unknown project file: "../../.build/projects/aws_config"
zlib.gpr:19:06: imported by "C:\GNAT\2016\Workspace\aws\include\zlib\zlib.gpr"
zlib.gpr:19:06: imported by "C:\GNAT\2016\Workspace\aws\aws.gpr"
zlib.gpr:19:06: imported by "C:\GNAT\2016\Workspace\aws\hello.gpr"
zlib.gpr:41:10: warning: no when others for this case construction
zlib.gpr:41:15: unknown package or project "Aws_Config"
zlib.gpr:41:15: variable "zlib_exists" is not a single string
gprbuild: "hello.gpr" processing failed

【问题讨论】:

  • “hello.gpr”文件中有什么内容?使用gprbuild 而不是gnatmake 作为构建管理器可能是个好主意。你确定你真的在命令行中包含了“-P”吗?
  • 我已经更新了我提到的答案,所以它推荐gprbuild

标签: ada


【解决方案1】:

我很确定你已经使用过

gnatmake -p hello.gpr

而不是

gnatmake -P hello.gpr

-P file 表示“使用项目文件file”,-p 表示“创建任何缺少的目录”。

而且,正如其他人所说,最好使用gprbuild 而不是gnatmake(我已经更新了你提到的答案)。

【讨论】:

  • 这有帮助!我阅读了 --help 文件,现在它很有意义。但是,zlib.gpr 有错误,这正是我从 libre.adacore.com 下载的。我在主要问题中包含了错误,请您看一下,也许可以帮助我理解为什么给定的 AWS 文件不好?
  • 抱歉,我使用的是 Mac。我在安装的 AWS 中没有看到任何关于 zlib 的信息,但我没有安装 zlib,所以可能 win32/build.cmd 中的构建过程从未构建它。但是,从您更新的问题来看,您正在 AWS 源代码分发中构建 hello.adb;也许它选择了错误的 aws.gpr 版本?尝试在 AWS 分布之外构建?
  • 由于您有兴趣帮助我们,我已将您的评论标记为答案!不过,我们从未设法让 AWS 正常工作。谢谢
【解决方案2】:

您不会通过gcc 编译项目文件。 Gcc 需要一个源文件。 相反,.gpr 文件被传递给gprbuild,然后它负责生成编译器、绑定器和链接器以创建可执行文件...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-14
    • 1970-01-01
    • 2017-12-08
    • 2021-05-19
    • 2016-03-02
    相关资源
    最近更新 更多