更新 GPS Community Edition 2019 IDE 的编译器

Llo*_*mas 3 linux ada gnat gnat-gps

我最近开始从事一个项目,该项目要求我的编译器高于 GNAT 4.8.5 - 当我去:帮助 > 关于

在此处输入图片说明

可以看到我用的版本是4.8.5

在此处输入图片说明

另外,当我运行 gnatls -v 命令时,我可以看到这个......

[parallels@localhost ~]$ gnatls -v

GNATLS 4.8.5 20150623 (Red Hat 4.8.5-39)
Copyright (C) 1997-2013, Free Software Foundation, Inc.

Source Search Path:
   <Current_Directory>
   /usr/lib/gcc/x86_64-redhat-linux/4.8.5/adainclude/


Object Search Path:
   <Current_Directory>
   /usr/lib/gcc/x86_64-redhat-linux/4.8.5/adalib/


Project Search Path:
   <Current_Directory>
   /usr/x86_64-redhat-linux/lib/gnat
   /usr/share/gpr
   /usr/lib/gnat

[parallels@localhost ~]$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/7.3.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ./configure --disable-multilib --enable-languages=c,c++,ada
Thread model: posix
gcc version 7.3.0 (GCC) 
[parallels@localhost ~]$ 
Run Code Online (Sandbox Code Playgroud)

请问有人能告诉我如何更新我的 GNAT 编译器吗?另外,我使用的是 Centos 7 操作系统。

谢谢,

劳埃德

Sim*_*ght 6

你不需要安装编译器,你已经有 3 个(至少):

  • gcc 4.8.5(系统编译器)在 /usr/bin
  • gcc 7.3.0(您刚刚构建的) /usr/local/bin
  • gcc 8.3.1(来自 GNAT CE 2019)在 /home/parallels/opt/GNAT/2019/bin

你 PATH决定了当你说 just 时你选择哪个 GCC,当你说 justgcc时你选择哪个 GNATLS gnatls,等等。

根据之前的帖子,您PATH是:

$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/var/lib/snapd/snap/bin:/home/parallels/.local/bin:/home/parallels/bin/home/parallels/opt/GNAT/2019/bin/home/parallels/opt/GNAT/2019/bin
Run Code Online (Sandbox Code Playgroud)

因此,当您说仅gcc系统会查看PATH( 以冒号分隔的)中的第一个条目时, .. 就在那里!所以它执行那个。

如果您使用 Ada 支持构建了 7.3.0 GCC,它会在同一个地方找到 gnatls。我非常怀疑你没有,所以当你说只是gnatls系统查看/usr/local/bin- 没有运气 - 然后/usr/local/sbin- 没有运气 - 然后/usr/bin- 哇!但那是您不想要的 4.8.5 GCC。

再看看你的PATH,最后一部分被破坏了 - 你已经添加了/home/parallels/bin和/home/parallels/opt/GNAT/2019/bin(两次)而不包括冒号分隔符,导致路径不存在。(很/home/parallels/bin可能是系统添加的——我假设那/home/parallels是你的主目录)。

你需要做的是确保你拿起通过把其位置与GNAT CE 2019附带的编译器第一次在你的PATH。一种方法是编辑您的 shell 启动文件。

我不知道 CENTOS 是如何设置帐户的,也不知道你的 shell 是什么。假设它是bash(类型ps -p $$,应该回来bash或者也许-bash;其他任何事情,我无能为力),您需要编辑一个 shell 启动文件 - 我对此有点不清楚,但我认为它会是~/.bashrc(~是您的主目录的简写);有关血腥细节,请参见此处。找到最后一次提及PATH并紧跟在该行之后插入

export PATH=/home/parallels/opt/GNAT/2019/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

打开一个新的终端窗口并说例如gnatls -v- 你应该选择 GNAT CE 2019 一个。

  • 只是想在这里评论一下,这并不总是在每个 Linux 环境中都有效。我们有一个红帽环境,单独设置路径并不能完全起作用。此外,我们必须调整工具链设置(通常在构建菜单下)。对话框中有两个路径可以修改编译器路径和工具路径,此外还有一个复选框以允许需要检查以设置这些工具链的多个工具链。我不知道为什么我们的环境需要这样做,但可能是放在你后口袋里的东西。 (2认同)