あるLinuxディストリビューションでアプリケーションをコンパイルし、別のLinuxディストリビューション(同じCPUアーキテクチャ)で使用できるかどうかを知りたいです。そうでなければ、どのような問題が発生しますか?私の心に浮かぶ唯一の問題は、ダイナミックリンクライブラリに関連しています。
- 一部のライブラリまたはライブラリのバージョンがありません。たとえば、/usr/lib/qt5.so がありません。
- ここでコンパイラフラグが問題になる可能性がありますか?
他の可能な困難はありますか?
答え1
はい、ほとんどの場合これを行うことができます。上記のライブラリの問題を除いて、私が予想できる唯一の問題はディストリビューションファイルの場所であり、アプリケーションに影響を与える問題は実際にはまれです。
答え2
静的にコンパイルすると、同じアーキテクチャを使用するすべてのディストリビューションでコンパイルされたアプリケーションを簡単に実行できます。
動的にコンパイルすると、前述のような問題(ライブラリの欠落)が発生したり、他のディストリビューションのライブラリバージョンと互換性がない場合がよくあります。