
次の形式のファイル名を使用してプリコンパイルされたライブラリをダウンロードしました。
<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.so
2 /usr/lib64/libjpeg.so.62
つ/usr/lib64/libjpeg.so.62.0.0
は後者へのシンボリックリンクです)