「共有オブジェクトを開けません: そのようなファイルまたはディレクトリはありません」というエラーを修正する
「共有オブジェクトを開けません。ファイルまたはディレクトリがありません」というエラーは、Linux または Windows 上の Windows Subsystem for Linux (WSL) を使用している開発者によく発生します。このエラーにより、プロジェクトに必要なライブラリを追加できなくなる可能性があるため、迅速に解決する必要があります。
「共有オブジェクトを開けません。そのようなファイルまたはディレクトリはありません」というエラーを修正する方法
1.不足しているライブラリをインストールする
- エラー メッセージを調べてください。不足しているライブラリの名前が指定されます。
- 次のコマンドを実行してライブラリをインストールします。
sudo apt-get install your_library_name
- インストールプロセスが完了するまで待ちます。
すでにインストールされているライブラリに対してsudo apt install –reinstall を使用することで成功したユーザーもいます。これも試してみることを検討してください。
Qt のインストール中にこのエラーが発生した場合は、次のコマンドを実行して、重要な依存関係をインストールします。
sudo apt-get -y install build-essential openssl libssl-dev libssl1.0 libgl1-mesa-dev libqt5x11extras5 '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
2. ldconfigコマンドを実行する
- ターミナルを開いて入力してください
sudo ldconfig -v
- コマンドの実行が完了するまで待ちます。
- エラーが続くかどうかを確認してください。
このコマンドは共有ライブラリ キャッシュを更新し、問題が解決する可能性があります。
3. lddコマンドを使用して不足している依存関係を確認する
- コマンドラインで次のように入力します。
ldd. /name_of_the_package
- パッケージが使用するモジュールのリストが表示されます。
- 「見つかりません」とマークされているモジュールを特定します。
- ターミナルを使用して、不足しているモジュールをインストールします。
一部のアプリケーションは 32 ビット アーキテクチャに依存している場合があり、互換性のあるモジュールのインストールが必要になるため注意してください。
4. stripコマンドを使用する
- ターミナルで次のコマンドを実行します。
sudo strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
- コマンドが完了するまで待ちます。
- 問題が解決されたかどうかを確認します。
この解決策は libQt5Core.so.5 にのみ適用されるため、特定のエラーに応じて手順 1 のライブラリ名を調整してください。
5. ライブラリパスにライブラリを手動で追加する
- 次のコマンドでライブラリ パスを見つけます。
sudo find / -name the_name_of_the_file.so
- の値を表示するには、次のコマンドを実行します
LD_LIBRARY_PATH
。echo $LD_LIBRARY_PATH
- 空の場合は
LD_LIBRARY_PATH
次のように設定します。LD_LIBRARY_PATH=/usr/local/lib
- 次のコマンドを実行して、手順 1 のライブラリ パスを追加します。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/my_library/
「共有オブジェクトを開けません。ファイルまたはディレクトリがありません」というエラーは、開発プロセスを中断させる可能性があります。ただし、次の手順に従って必要なパッケージをインストールすることで、このエラーを効果的に解決できます。
これは、発生する可能性のある唯一のコーディング エラーではありません。多くのユーザーから、PermissionError Errno 13 や OSError Errno 48 などの問題も報告されています。
コメントを残す