2017-07-18 59 views
1

从Fedora 25升级到26之后,默认的gcc版本现在是版本7.1.1,gcc -dumpversion的输出已经从major.minor.patch改为只是重大的。Fedora 26上的gcc 7.1.1 dumpversion现在只包含默认的主要版本

新的输出:

$ gcc -dumpversion 
7 

手动状态

-dumpversion

打印编译器的版本(例如,3.0,6.3.0或7) - 和不别的什么都做 。这是在文件系统路径中使用的编译器版本,可以取决于编译器如何配置一个 单个数字(主要版本),由点分隔的两个数字(主版本号和 次版本)或由三个数字分隔的编号点(主要,次要和 修补程序版本)。

我还没有找到在哪里改变这个编译器配置,以包括用点配置的三个数字。我发现的最接近的是主要版本只配置:

--with-GCC-主要版本,仅指定GCC应该使用文件系统路径只有主设备号,而不是major.minor.patchlevel。

回答

1

因此,经过一番研究,我发现配置版本是一个编译时选项(如果您从源编译编译器)。

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

所以我们不得不通过gcc -dumpversion更改构建系统来获取版本,并检查它是否是一位数字,如果是,然后替换-dumpfullversion以获得完整的major.minor.patch gcc版本。

3

我使用这两个选项一起:

GCC -dumpfullversion -dumpversion

这似乎以统一的方式对老的新作:

[根@泽塔〜]#GCC -dumpfullversion -dumpversion 4.4.7

[詹金斯@建立-EL7〜] $ GCC -dumpfullversion -dumpversion 7.2.1