所以我设法在 Centos 6+ 上使用 cmake3 进行编译,但尝试在 ClearOS 上执行相同的操作,我收到一条错误,提示 g++ 必须是 5.1 或更高版本?
我的计划是把编译好的centos程序上传到clearos上,看看能不能运行?
谢谢!
答案1
只要满足其要求(只有您知道),您的二进制文件就应该在其他 Linux 发行版上运行。如果您(或编译器)使用库或内核中的新功能,可能会出现问题。
但如果两个发行版在相似的时间发布,那么我预计不会出现问题。
答案2
在 CentOS 中运行的二进制文件应该可以在其他 Linux 发行版中运行,前提是处理器架构(x86 或 x86-64 等)相同。
其他需要考虑的条件是共享库。如果程序是使用静态库构建的,那么它肯定可以在同一架构上的任何其他 Linux 发行版上运行。然而,现在大多数程序都是使用动态库构建的。在这种情况下,两个系统中都必须存在所需的库。
根据我的经验,基于简单终端的程序(如、vim
等)的相同可执行二进制文件可以在所有 Linux 发行版中运行,尽管它们使用共享库。因为大多数 Linux 发行版都以类似的方式管理一些库。nano
top
您收到的错误可能是由于共享库造成的。可能会发生该程序是针对glibc
目标系统中不存在的更高版本或其他库进行编译的情况。