如果我用Ubuntu上的GCC 4.8编译一些C++代码,这些代码没有GUI/界面,只使用标准的Linux库,那么这个二进制文件能否在RHEL 5/6上运行,而且不会因为较旧的GCC产生错误呢?
如果我用Ubuntu上的GCC 4.8编译一些C++代码,这些代码没有GUI/界面,只使用标准的Linux库,那么这个二进制文件能否在RHEL 5/6上运行,而且不会因为较旧的GCC产生错误呢?
通常情况下是不行的。其中一个原因是libc版本太老,会报错。
如果您使用静态链接libstdc++并小心避免较新的glibc功能,则可能可以实现。但是后者并非总是可行的。libc的静态链接没有官方支持,可能会奏效也可能会失败。