事前にビルドされたライブラリ.so.0ファイルで何をする必要がありますか?

事前にビルドされたライブラリ.so.0ファイルで何をする必要がありますか?

次の形式のファイル名を使用してプリコンパイルされたライブラリをダウンロードしました。

<name>.so.0

一種のバージョン管理を収集しますか?このライブラリの使い方 - 抽出するにはツールを使用する必要がありますか?私の考えでは、プログラムがファイル<name>がある場合にのみ検索するようです。

ベストアンサー1

バイナリが実行されると、コンパイルされたライブラリは自動的にロードされます。これを行うには、/etc/ld.so.confで定義されている場所を確認してください。ほとんどのディストリビューションでは、パッケージマネージャによってインストールされていない/usr/local/libライブラリが保存されるようにライブラリを配置する必要があります。

システム全体にライブラリをインストールしたくない場合(またはrootアクセス権がない場合)、プログラムをLD_LIBRARY_PATH実行するときに.soファイルを含むフォルダに設定できます。

LD_LIBRARY_PATH=/path/to/folder_with_so_file ./yourprogram

バージョン番号関連:プログラムが.soバージョン番号を明示的に見つけない場合は、シンボリックリンクを作成します(libフォルダにもあります)。

ln -s <name>.so.0 name.so

ほとんどのライブラリは、最も具体的なバージョン番号のファイルを保持し、メジャーバージョンとバージョンが指定されていない名前へのシンボリックリンクを作成します(たとえば、私のシステムではファイルとを含み、/usr/lib最初のlibjpeg.so2 /usr/lib64/libjpeg.so.62/usr/lib64/libjpeg.so.62.0.0は後者へのシンボリックリンクです)

おすすめ記事