Gcc Mac OS的链接器出现问题

Gcc Mac OS的链接器出现问题,gcc,linker,linker-errors,ada,gnat,Gcc,Linker,Linker Errors,Ada,Gnat,我最近开始在我的系统编程课上的一个实验室里使用ada,我可以说它真的很有趣 我在计算机实验室进行了测试,并决定将编译器及其链接工具安装在MacBook上 尽管安装已经完成,而且似乎没有问题,但当我试图打印经典的hello world程序时,我收到了以下消息: gprbuild greet.adb

我最近开始在我的系统编程课上的一个实验室里使用ada,我可以说它真的很有趣

我在计算机实验室进行了测试,并决定将编译器及其链接工具安装在MacBook上

尽管安装已经完成,而且似乎没有问题,但当我试图打印经典的hello world程序时,我收到了以下消息:

gprbuild greet.adb                                                                                                                                                                                                            
using project file /Users/xyderos/opt/GNAT/2020/share/gpr/_default.gpr
Bind
[gprbind]      greet.bexch
[Ada]          greet.ali
Link
[link]         greet.adb
ld: library not found for -lSystem
collect2: error: ld returned 1 exit status
gprbuild: link of greet.adb failed
gprbuild: failed command was: /users/name/opt/gnat/2020/bin/gcc greet.o b__greet.o - L/Users/name/ada/ -L/Users/name/ada// -L/users/name/opt/gnat/2020/lib/gcc/x86_64-apple-darwin17.7.0/8.4.1/adalib/ /users/name/opt/gnat/2020/lib/gcc/x86_64-apple-darwin17.7.0/8.4.1/adalib/libgnat.a -Wl,-rpath,@executable_path/ -Wl,-rpath,@executable_path/..//opt/gnat/2020/lib/gcc/x86_64-apple-darwin17.7.0/8.4.1/adalib -o greet
我对lSystem库感到非常困惑

似乎这个库在Mac上不存在(也许我需要安装Xcode?)

是否有人对此问题有所了解,或者是否有更好的方法通过brew进行安装


提前多谢

在我的MacOS 10.14上,以下内容对我很有用,而不必下载庞大的blob,即Xcode,我既没有带宽也没有磁盘空间。我不知道这在MacOS 10.15上是否仍然有效(不打算升级)

这些信息大部分来自Simon Wright的博客:

  • 您只需要Xcode命令行工具(不需要Xcode):
    Xcode选择--install
  • 现在打开包含的标题:
    sudo安装程序-pkg/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg-target/
  • 并告诉GNAT在哪里可以找到它们:
    mv ce2109 specs/usr/local/opt/GNAT/2019/lib/gcc/x86_64-apple-darwin17.7.0/8.3.1/specs
  • ce2109规范文件来自上面的博客文章。这为我做了工作,GNAT现在可以链接MacOS 10.14上的工作二进制文件


    如果您使用的是10.15,但它不起作用(因为没有更多的Xcode命令行工具或者它们缺少headers包),很遗憾,您必须按照GNAT自述安装Xcode。

    安装Xcode肯定是必需的。虽然我不了解Mac的最新情况,我原以为“安装Xcode”就是答案(也许是),但编译器已经清楚地发现
    ld
    ,那么为什么不
    libSystem.dylib
    ?无论如何都要安装Xcode。我还没有为GNAT CE 2020修改它;由于各种原因,规范文件会发生更改,因此
    ce2019规范
    可能会损坏编译器。如果有,就删除它。Catalina的Xcode 11.6使用了17 GB(9 GB的数据,其余的我认为是大量小文件的影响,这些文件不使用最小的磁盘分配)。Catalina有命令行工具,但遗憾的是,不再有办法在
    /usr/include
    中安装系统头。除非我想“用手”抄写。