Red Hat Enterprise Linux 5.8 を使用して folly をコンパイルしたいのですが、gcc は 4.1.2 です。しかし、愚行には gcc >=4.6 が必要です。そのため、gcc を 4.6、おそらく binutils などにアップグレードする必要があります。新しいツールチェーンが *.a *.so などのバイナリ ファイルを生成する場合、それらを古い Red Hat Enterprise Linux 5.8 で実行すると、問題が発生したり不安定になりますか?
1 に答える
0
おそらく大きな問題はありません (GCC 4.1 と間もなくリリースされる GCC 4.8 が互換性のあるコードを生成するため)、少なくとも C コードについては。
C++ コードの場合、非互換性があると思います。確かに、これlibstdc++
はコンパイラのバージョンに関連付けられています。実際には互換性がある場合もあれば、そうでない場合もあります (ただし、C++ ABI もわずかに変更されています)。そして、この非互換性はすべての C++ ライブラリに広がる可能性があります。
試してみるべきだと思います。同じ最新の GCC を使用してすべての C++ 依存関係を再コンパイルすると、おそらく非常に安全になります。したがって、最新の GCC をコンパイルfolly
してから、それを使用してすべての依存関係をコンパイルできます。
ところで、最新の GCC (今日は 4.7、数週間後には 4.8) に移行することをお勧めします。
于 2013-01-11T06:35:29.040 に答える