web-dev-qa-db-ja.com

Linuxパッケージリポジトリの* -devパッケージには実際には何が含まれていますか?

私の質問は非常に基本的なものであり、私の知識も現在です。

私は長年のLinuxユーザーですが、最近プログラミングに大きな関心を寄せています。 Ubuntuリポジトリの多くの一般的なアプリケーションに-devパッケージがあることがわかります(例Pidginに加えてPidgin-dev)。私の質問はこれです:

これらのパッケージには何がありますか?ダウンロードPidgin-devは、Pidgin用に開発するのにどのように役立ちますか?特定のアプリケーションのプラグインを作成するために必要なツールの依存関係チェックと同じくらい簡単ですか?

-devパッケージにはかなりの量のドキュメントがあることを期待していましたが、ある場合、それにアクセスする方法を理解できません。 manページのようなものを考えていますが、コードの編集には役立ちます。

歓迎する以上のアドバイスを!

59
conorsch

*-devパッケージには、ほとんどの場合、ライブラリのインターフェイスに関連するヘッダーが含まれています。次に最も一般的なのは、package-configファイル(*.pc)ビルドオプションと静的にリンクされたライブラリについて説明します。

一般に、インストールしたパッケージの内容を知りたい場合は、dpkg -L pkgnameはそれを取得します。 apt-fileプログラムは、リポジトリ内のすべてのパッケージについて同じことを教えてくれます。

また、William Pursellおよびcafによる回答には、有用な追加の詳細が含まれていることにも注意してください。彼らの入力が役に立ったと思ったら、賛成票を投じてください。

44
Phil Miller

(免責事項:私はDebianに精通していますが、Ubuntuには精通していません。そのため、以下に記載するすべてが適用されることはほぼ確実ですが、そうでない可能性があります。)

* -devパッケージのもう1つのアイテムは/usr/lib/lib*.soリンクです。 libfoo0パッケージはファイル/usr/lib/libfoo.so.0.0をインストールし、libfoo-devはリンク/usr/lib/libfoo.so.0と/usr/lib/libfoo.soをインストールします。これは、libfoo0とlibfoo1を同時にインストールできるメカニズムです。これにより、古いライブラリを必要とするソフトウェアを、新しいライブラリを使用するソフトウェアとボックス上で共存させることができます。 libfoo-devをインストールすると、コンパイルされるソフトウェアは* .soリンクをたどり、そのリンクで参照されるライブラリのバージョンに対してリンクします。

27
William Pursell

-devパッケージには通常、Cヘッダーファイルとライブラリファイルの静的にコンパイルされたバージョン(拡張子.a)が含まれています。追加のドキュメントや例、またはヘルパーアプリケーションさえ含まれている場合があります。

17
caf

このパッケージには、メインのPidginパッケージに含まれていないヘッダーとその他の開発ファイルが含まれています。独自のプラグインをコンパイルする場合は、-devをインストールします。

4
zinovii