以前のCentOSシステムへのC ++ 11をサポートするC ++プログラムのデプロイ

以前のCentOSシステムへのC ++ 11をサポートするC ++プログラムのデプロイ

私のプログラムは/lib64/libstdc++.so.6.0.19に依存するlibstdc++.so.6に依存しています。

しかし、私の以前のCentOSにはlibstdc ++.so.6 => libstdc ++.so.6.0.13があります。

質問

  1. バージョンが0.19より低い場合は、libstdc ++.so.6を確認する必要がありますか?
  2. libstdc++をlibstdc++.so.6.0.19に更新するには?

ベストアンサー1

libstc++.so.6.0.13そしてlibstdc++.so.0.19互換性があります。よりlibstdc++ マニュアル。 CentOSシステムでプログラムを実行するのに問題はないはずです。

通常、Linuxの共有ライブラリは次のバージョン管理規則に従う必要があります。libfoo.so.X.Y.ZここでXはメジャー番号、マイナー番号Yです。増加するZと、X新しいバージョンは以前のバージョンと互換性がありません。増分は、YABIに互換性のある変更が行われたことを意味します。変更は、Zいくつかのバグが修正されたことを意味しますが、インターフェイスは変更されませんでした。実行可能なバイナリには、使用する共有ライブラリへの参照が含まれていますが、これらの参照にはキー番号のみが含まれています。使用される実際のライブラリは、プログラムを実行するコンピュータのライブラリシンボリックリンクによって決定されます。たとえば、次のようになります。

/usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.25

おすすめ記事