最低合理支持的GCC版本是什么
What is the minimum reasonably supported GCC version?
我一直在mac/linux上开发一个针对现代编译器的C++11应用程序,它运行良好,但后来我试图将它部署到一个非常旧的linux盒子中(g++4.1.2:2007年2月),当然它太旧了,可执行文件无法运行。
这并不奇怪,但现在我想知道是否有标准的时间来支持编译器/标准?
我四处看了看,但没有提到这件事。。当开发人员自己认为编译器版本已经过时并且不会修补错误时,是否应该放弃对编译器版本的支持?
您是运行gcc(或g++
)的人。它是编译器,供开发人员使用。最终用户系统可能没有任何版本的gcc。你需要担心的是glibc
和libstdc++
。但总的来说,Linux并不以二进制兼容性为目标。不要期望任何二进制可执行文件在任何其他发行版/主要版本上正常运行。
相反,glibc和libstdc++会小心地使用旧的内核版本,因此您应该能够在Linux上安装(configure+make+install)最新的运行时支持库,然后为此构建应用程序。
最简单的方法可能是在虚拟机中安装与目标相同的发行版和版本。然后安装C++11开发工具,并构建您的应用程序。
相关文章:
- 如何指示 cmake 的 gcc 版本?
- g++ libstdc++.so.6:从 4.8.5 升级到 GCC 版本 7.3.0 后找不到版本 'CXXABI_1.3.9'
- GCC:--静态链接到pthread的整个存档配方在最近的GCC版本中停止工作
- glibc 版本比 gcc 版本和 -wl,-rpath 不工作
- 三元运算符 '?:' 在 4.9.0 之前的 GCC 版本中推断出不正确的类型?
- 与NVIDIA链接的错误GCC版本
- 是否有编译器标志可以使较新的 gcc 版本像旧版本一样构建
- 不同的内在行为取决于 GCC 版本
- cblas_layout在MKL.H的GCC版本中未声明
- 将GCC版本升级到发行版附带的版本以外的版本是否有任何问题
- Linux 中 gcc 4.3 版本的编译问题
- GCC 版本/标志和 FAM
- 如何让 CMake 基于 GCC 版本通过 std=c++14/c++1y 或 c++17/c++1z?
- 我已安装的GCC版本是我已安装的RedHat开发人员工具集的背后
- GLIBCXX(libstdc++.so.6)与gcc版本之间的关系
- 如何获得GCC版本支持特定功能
- 如何更改Python GCC与GCC 4.8版本结合
- 使用 Eclipse 检查 GCC 版本
- gcc版本显示4.2.1,即使在安装了4.9(Homebrew)之后也是如此
- CMake发现错误的gcc版本