我最近开始做一个项目,要求我的编译器高于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 ~]$
请谁能告诉我如何更新我的GNAT编译器?另外,我使用的是Centos 7操作系统。
谢谢你了。
劳埃德
你不需要安装编译器,你已经有3个编译器了(至少)。
/usr/bin
/usr/local/bin
/home/parallels/opt/GNAT/2019/bin
您的 PATH
决定了当你说只需用 gcc
,当你说只需用 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
所以当你说只是 gcc
系统会查看 PATH
(是以冒号分隔的),然后......就有了!所以它就执行了。
如果你在构建7.3.0 GCC时支持Ada,它应该会在同样的地方找到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
打开一个新的终端窗口,说如。gnatls -v
- 你应该拿起GNAT CE 2019的。