1. ホーム
  2. c

[解決済み] develパッケージとは何ですか?

2022-02-14 07:42:55

質問

libgtk+-develやpython-develなどのdevelパッケージの有用性は何でしょうか?ライブラリのソースは含まれていますか?libgtk+のようなdevelでないパッケージとどう違うのですか?

解決方法は?

その *-devel パッケージ(通常 *-dev Debianベースのディストリビューションでは)通常、与えられたライブラリに対してコードをコンパイルするために必要なすべてのファイルです。

ライブラリを使用したアプリケーションを実行する場合 libfoo は、実際の共有ライブラリファイル ( *.so.* 例えば libfoo.so.1.0 ) が必要です (さらに、いくつかのデータファイルとバージョン固有のシンボリックリンクが必要な場合もあります)。

実際にそのライブラリを使用したCアプリケーションをコンパイルする際には、ヘッダーファイル( *.h は、例えば foo.h ) に、そのアプリケーションのインターフェイスを記述し、さらに共有ライブラリへのバージョンレスシンリンク ( *.so 例えば libfoo.so -> libfoo.so.1.0 ). これらは通常 *-devel のパッケージを使用します。

時には *-devel パッケージには、静的にコンパイルされたバージョンのライブラリも含まれています ( *.a 例えば libfoo.a ) を使って、動的ライブラリに全く依存しない完全なスタンドアロン・アプリケーションを構築したい場合に使用します。

他の言語(Java、Pythonなど)では、ライブラリのAPIを表記する方法が異なるため(実際のライブラリに必要な情報を効率的に含める)、通常、個別の *-devel パッケージは、(ドキュメントや追加ツールを除いて)使用することができます。