关于Fedora 26 dumpversion的gcc 7.1.1现在默认只包含主要版本

时间:2017-07-18 13:40:52

标签: version gcc7

从Fedora 25升级到26后,默认的gcc版本现在是版本7.1.1,gcc -dumpversion的输出已从major.minor.patch更改为major。

新产品:

$ gcc -dumpversion
7

手册说明

  

-dumpversion

     

打印编译器版本(例如,3.0,6.3.0或7) - 不要这样做   还要别的吗。这是文件系统路径中使用的编译器版本,   specs,可以取决于编译器的配置方式   单个数字(主要版本),两个用点分隔的数字(主要和   小版本)或由点分隔的三个数字(主要,次要和   补丁级版本。

我还没有找到更改此编译器配置的位置,以包含用点配置的三个数字。我找到的最接近的是仅限主要版本的配置:

  

- with-gcc-major-version-only指定GCC在文件系统路径中只应使用主编号而不是major.minor.patchlevel。

2 个答案:

答案 0 :(得分:9)

我一起使用了两个选项:

gcc -dumpfullversion -dumpversion

这似乎以统一的方式适用于新旧:

[root@zeta ~]# gcc -dumpfullversion -dumpversion

4.4.7

[jenkins@build-el7 ~]$ gcc -dumpfullversion -dumpversion

7.2.1

答案 1 :(得分:2)

经过一些研究后我发现配置版本是编译时选项(如果从源代码编译编译器)。

我还发现有一个新的gcc -dumpfullversion选项可以提供完整的版本号,即7.1.1,这是我们的构建系统所期望的。小警告是旧版本的gcc不支持-dumpfullversion

因此我们必须更改构建系统以通过gcc -dumpversion获取版本并检查其是否为单个数字,如果是,则替换-dumpfullversion以获取完整的major.minor.patch gcc版本。