最低合理支持的GCC版本是什么

What is the minimum reasonably supported GCC version?

本文关键字:GCC 版本 是什么 支持      更新时间:2023-10-16

我一直在mac/linux上开发一个针对现代编译器的C++11应用程序,它运行良好,但后来我试图将它部署到一个非常旧的linux盒子中(g++4.1.2:2007年2月),当然它太旧了,可执行文件无法运行。

这并不奇怪,但现在我想知道是否有标准的时间来支持编译器/标准?

我四处看了看,但没有提到这件事。。当开发人员自己认为编译器版本已经过时并且不会修补错误时,是否应该放弃对编译器版本的支持?

您是运行gcc(或g++)的人。它是编译器,供开发人员使用。最终用户系统可能没有任何版本的gcc。你需要担心的是glibclibstdc++。但总的来说,Linux并不以二进制兼容性为目标。不要期望任何二进制可执行文件在任何其他发行版/主要版本上正常运行。

相反,glibc和libstdc++会小心地使用旧的内核版本,因此您应该能够在Linux上安装(configure+make+install)最新的运行时支持库,然后为此构建应用程序。

最简单的方法可能是在虚拟机中安装与目标相同的发行版和版本。然后安装C++11开发工具,并构建您的应用程序。