我是 Linux 编程的新手,我想知道,有没有办法在同一发行版的旧版 Linux 上运行(而不是重新编译)我的 C++ 可执行文件?
示例:假设我在 RHEL 6 上编译了我的代码并想在 RHEL 4 或 5 上运行我的可执行文件。
在 Windows 中,当我们执行此操作时,我们只需安装 C++ 编译器版本的 C++ 运行时。
示例:如果我使用VS2012构建一个使用C++11的C++项目,我只需要在客户端机器上安装C++11的C++运行时即可运行我的应用程序,无论我使用的是什么版本的Windows (当然是从 Windows XP 开始)
最佳答案
到目前为止,最简单的方法是利用 glibc 和 GCC 运行时库强大的 future 兼容性:在您希望它运行的最旧的操作系统上编译您的可执行文件,它应该可以在以后的任何东西上运行而无需重新编译(即也就是说,可能需要一些符号链接(symbolic link)来满足可执行加载程序所期望的依赖关系)。
一般来说,最好为每个你想支持的发行版编译它,这样就不会出现意想不到的冲突。
关于c++ - 在旧版本的 linux 上运行我的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20092573/