10

私のクライアントは、開発者に Linux サーバーで実行する小さな C++ コマンドライン アプリを作成してもらいました。サーバーの 1 つ (Fedora 11 を実行) でアプリを実行すると、次のエラーが表示されます。

error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory

明らかに私が最初にしたことは

yum install libstdc++

しかし、私は得る

Package libstdc++-4.4.1-2.fc11.x86_64 already installed and latest version

したがって、ライブラリは既に存在し、最新です。通常、これらのエラーはライブラリが見つからないことを示しています。では、次はどこを見ればよいのでしょうか。

4

7 に答える 7

14

rpm したがって、レポは共有ライブラリ名とそれらを提供するものを知っています。そう

yum install 'libstdc++.so.5'

リポジトリにある場合は、必要なものをすべてインストールします。

あなたの場合、実行しようとしているバイナリが明らかに32ビットであるため、まだ持っていない場合は、compat-libstdc++-33-3.2.3-66.i586.rpmとその32ビットdepsを取得します

于 2010-09-17T04:47:11.670 に答える
10

libstdc++-4.4.1-2.fc11.x86_64インストールしますlibstdc++.so.6compat-libstdc++-33-3.2.3-66.x86_64を入手するにはパッケージが必要ですlibstdc++.so.5。(シンボリックリンクしないでください!互換性がありません。libstdc++.so.5) libstdc++.so.6

于 2010-09-16T22:47:58.897 に答える
6

yum install compat-libstdc++-33 はこれを解決しました。

于 2014-01-14T23:43:38.247 に答える
3

libstdc++.so.5 は、標準の C++ ライブラリの非常に古いバージョンです。

yum search libstdc++を実行すると、compat-libstdc++ パッケージの 1 つをインストールする必要があります。

于 2010-09-16T22:46:10.383 に答える
1

caf と aaron が述べたyum install compat-libstdc++-33 libstdc++.so.5 -yように、同様のエラーが発生したときに実行するとうまくいきました。

私が遭遇した唯一の問題は、正しいレポをチェックアウトしていなかったためyum-config-manager --enable rhel-7-server-optional-rpms、ファイルにアクセスするために実行する必要があったことです。RedHat 7 以外のものを使用している場合は、正しいリポジトリを検索する必要があります。

yum provides libstdc++.so.5最初に実行することで、正しいレポがあるかどうかをいつでも確認できます。

于 2017-01-05T14:57:39.443 に答える
-1

パッケージが libstdc++.so.5 をインストールし、他のバージョンをインストールしないことを確認しましたか? それがあなたの最も可能性の高い問題です。

于 2010-09-16T22:39:50.320 に答える