共有ライブラリを「インストール」する方法

共有ライブラリを「インストール」する方法

私はgccを使って外部ライブラリを使ってC ++アプリケーションを開発しています。たとえばlibtifflibpng。私はこれを得て、apt-getすべてがうまくいきます。

しかし、スタンドアロンとファイルのペア.a.so lib提供される別のサードパーティのライブラリを追加しました。.soに保存されている別のものを見つけ/usr/lib/x86_64-linux-gnu、そこに新しいものをコピーしました.so。私のアプリケーションを正常に接続しましたが、error while loading shared libraries: libThirdParty.so: cannot open shared object file: No such file or directoryメッセージ " "と一緒に実行できませんでした。

私は何を見逃していますか?

ベストアンサー1

アプリケーションがライブラリを見つける方法は2つあります。

  • 環境LD_LIBRARY_PATH変数これをコロンで区切って、インクルードライブラリへのパスに設定します。最初に空でないことを確認し(echo $LD_LIBRARY_PATH)、そうであれば拡張します(例:)LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/foo/lib:/home/myself/lib。これはテストに適しており、sudoユーザーでない場合はroot永続的に使用したい場合はシェル初期化に追加できます。.zshrcしかし、もちろん、変数を解析してファイルを検索するのは遅くなるため、通常は2番目のアプローチを好みます。
  • ライブラリをコピーしたら、ldconfigルートとして使用するか、sudo標準ライブラリパス(および/libまたは/usr/libおよび)と同様に、設定ファイルのパスとライブラリへの引数で指定さ/lib64れたパスを検索し、システム全体のライブラリキャッシュを更新します。/usr/lib64/etc/ld.so.confldconfigld.so

おすすめ記事