aptパッケージ - 静的ライブラリと動的ライブラリ

aptパッケージ - 静的ライブラリと動的ライブラリ

Ubuntu 18.04を使用してください。私はaptを使ってライブラリをインストールします。たとえば、次のようになります。

sudo apt install freeglut3-dev

aptは常に動的ライブラリをインストールしますか、パッケージに静的または動的ライブラリが含まれているかどうかを確認できますか?

答え1

慣例によるとlibfoo1動的ライブラリが含まれ、libfoo-devヘッダと静的ライブラリが作成されます。

libfoo1これはランタイム依存関係にすぎず、動的ライブラリはランタイム依存関係です。

libfoo-devビルドの依存関係なので、静的ライブラリはビルド/リンク中にのみ使用されます。

ライブラリに何があるかを知りたい場合は、次のようにインストールされたdpkgパッケージの内容を表示できます。

$ dpkg -L libfoo1
/usr/lib/x86_64-linux-gnu/libfoo.so.1.0.0
/usr/share/doc/libfoo1/changelog.gz
/usr/share/doc/libfoo1/copywrite
/usr/lib/x86_64-linux-gnu/libfoo.so.1

パッケージがインストールされていない場合は、このコマンドを使用できますが、ファイルのリストを取得するapt-fileには最近使用する必要があります。apt update

$ apt-file list libfoo-dev
libfoo-dev: /usr/include/foo.h
libfoo-dev: /usr/lib/x86_64-linux-gnu/libfoo.a
libfoo-dev: /usr/lib/x86_64-linux-gnu/libfoo.so

libfoo.so(in libfoo-dev)は実際には(in)へのシンボリックリンクにすぎず、それ自体はlibfoo.so.1(also)libfoo1へのシンボリックリンクです。libfoo.so.1.0.0libfoo1

関連情報