それで、Centos 6+でcmake3を使ってコンパイルしましたが、ClearOSで同じことをしようとすると、g ++が5.1以上でなければならないというエラーが発生しますか?
私の計画は、コンパイルされたcentosプログラムをClearosにアップロードして実行できることを確認することです。
ありがとうございます!
答え1
あなたのバイナリは、その要件(あなただけが知っている)を満たす限り、他のLinuxディストリビューションで実行する必要があります。ユーザー(またはコンパイラ)がカーネルのライブラリまたは新機能を使用している場合、問題が発生する可能性があります。
ただし、両方のディストリビューションが同様の時期にリリースされた場合、問題が発生するとは予想されません。
答え2
CentOSで実行されるバイナリは、プロセッサアーキテクチャ(x86やx86-64など)が同じ場合は、他のLinuxディストリビューションでも機能する必要があります。
考慮すべき他の基準は共有ライブラリです。プログラムが静的ライブラリを使用して構築されている場合は、同じアーキテクチャの他のLinuxディストリビューションでも確実に実行されます。しかし、今日のほとんどのプログラムは動的ライブラリを使用して構築されています。この場合、必要なライブラリは両方のシステムに存在する必要があります。
私の経験によれば、vim
共有ライブラリの使用にもかかわらず、単純な端末ベースのプログラム(など)の同じ実行可能バイナリがすべてのLinuxディストリビューションで実行されます。ほとんどのLinuxディストリビューションは、いくつかのライブラリを同様の方法で管理するためです。nano
top
あなたが受け取っているエラーは共有ライブラリによるものかもしれません。プログラムが、glibc
最新バージョンまたはターゲット・システムに存在しない他のライブラリーに対してコンパイルされる場合があります。