4

たとえば、libXXX.so.0という名前の共有ライブラリをlibXXX.so.0という名前で作成します。それで、libXXX.so.0という名前のシンボリックリンクを作成し、それが実際の共有ライブラリを指すようにする必要がありますか?または、 libXXX.soという名前のシンボリックリンクを作成する必要がありますか?

さらに、ライブラリをlibXXX.so.0.0.1に更新するとどうなりますか?

  1. /libまたはなどのシステムライブラリパスに共有ライブラリをインストールした場合 /usr/lib、シンボリックリンクを更新するにはどうすればよいですか?ldconfigを使用して いますか?

  2. 現在のローカルフォルダに共有ライブラリをインストールする場合、シンボリックリンクを更新するにはどうすればよいですか?

ところで、Makefileのバージョンの問題をどのように制御しますか?つまり、 ln -sldconfigなどのコマンドを追加する必要がありますか?

4

1 に答える 1

3

はい、 をlibXXX.so.0指す名前のシンボリックリンクを作成しlibXXX.so.0.0.0ます。

このライブラリにリンクされたプログラムを作成できるようにしたい場合は、 をlibXXX.so指す名前のシンボリックリンクも作成してlibXXX.so.0ください。

libXXX.so.0 シンボリック リンクは、プログラムが探す soname であるため、プログラム ローダーによって使用されます。

シンボリックリンクはlibXXX.so、リンカーがプログラムをビルドするときに使用されます。

また、ライブラリを libXXX.so.0.0.1 に更新するとどうなりますか?

libXXX.so.0次に、 を指すようにシンボリック リンクを作り直しますlibXXX.so.0.0.1。他に何も変更する必要はありません。libXXX.soシンボリックリンクがそれを指しているため、libXXX.so.0自動的に新しいライブラリも指します。

シンボリックリンクを更新するには?

何らかのパッケージング システム (RPM など) を使用して新しいライブラリをインストールする場合は、パッケージング システムがシンボリック リンクを管理するために提供する機能を使用します。スクリプトまたは Makefile スタンザだけを使用している場合は、単純rm -fに古いシンボリック リンクとln -s新しいシンボリック リンクを使用します。

于 2012-06-03T01:12:35.343 に答える