2

对 Ada 来说非常陌生,并且已经开始通过 GNAT GPS 中的 Hello World 教程来学习。当我编译我的代码时,我很难找出错误。该错误看起来像源文件目录问题。但是我对这种 IDE 中的错误输出非常不熟悉。

这是我试图编译和运行的代码(文件:main.adb):

with Ada.Text_IO;

procedure Main is

begin
   Ada.text_IO.Put_Line("Hello world!");
   null;
end Main;

代码和 GPS IDE 的图像

这是我收到的构建错误:

gprbuild -d -P/Users/myname/Desktop/Test/default.gpr /Users/myname/Desktop/Test/src/main.adb
Compile
   [Ada]          main.adb
Bind
   [gprbind]      main.bexch
   [Ada]          main.ali
Link
   [link]         main.adb
ld: library not found for -lSystem
collect2: error: ld returned 1 exit status
gprbuild: link of main.adb failed
gprbuild: failed command was: /users/myname/opt/gnat/2019/bin/gcc main.o b__main.o -L/Users/myname/Desktop/Test/obj/ -L/Users/myname/Desktop/Test/obj/ -L/users/myname/opt/gnat/2019/lib/gcc/x86_64-apple-darwin17.7.0/8.3.1/adalib/ /users/myname/opt/gnat/2019/lib/gcc/x86_64-apple-darwin17.7.0/8.3.1/adalib/libgnat.a -Wl,-rpath,@executable_path/ -Wl,-rpath,@executable_path/../../..//opt/gnat/2019/lib/gcc/x86_64-apple-darwin17.7.0/8.3.1/adalib -o main
[2019-10-19 11:34:54] process exited with status 4, elapsed time: 01.95s

我假设我错误地安装了 Ada 和/或 GPS。有什么建议或想法吗?谢谢你。

更新/其他想法:

我假设的另一件事是该项目无法找到 Ada 源代码,因为该项目保存在 /desktop?

4

1 回答 1

4

我看到您在 macOS 上运行并使用 GNAT CE 2019。您需要安装 Xcode(来自应用商店,在开发下)。

我在这里写了,但总结一下,

  • 将来,Apple 不会在 SDK 中提供包含,/usr/include而是在 SDK 中提供,
  • clang知道这一点,但 GCC 不知道,
  • AdaCore 的回应是使用 Xcode SDK 中的系统根目录生成他们的编译器,
  • 系统根目录影响库和头文件,
  • 所以没有 Xcode 意味着没有系统库(尽管库/usr/lib一如既往!)
于 2019-10-19T19:48:40.797 回答