2016-09-05 2 views
-2

"* -devel"パッケージの使用について混乱しています。そのため、私はそれを調べました。この記事で答え、What are *-devel packages?によると:開発ヘッダは正確に何ですか?

「ライブラリを調べてlibfooを使用してのみactualy をアプリケーションを実行するために(の.soを、例えばlibfoo.so.1.0のため。)ライブラリファイルを共有 を必要としています(おそらくいくつかのデータファイルといくつかのバージョン固有のシンボリックリンク)

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

これは私には冗長なようです。私にはこのように聞こえます:"ライブラリを使用するには、libfooだけが必要です。あなたはライブラリを使用する場合でも、あなたは私はかなりヘッダファイルの重要性に対する答えを見つけることができないヘッダファイル、ひいては今libfoo-develの」

を必要としています。

答えて

1

あなたが使用してアプリケーションを構築した後、 libfooの場合は、libfooのヘッダはそれ以上インストールされていなくても、アプリケーションはすでにコンパイルされていますので、ヘッダファイルをコンパイルする必要はありません。

それはあなたのlibfooです:ライブラリ自体だけです。たぶん時折configu配給ファイル、または実行時に必要なものが含まれています。

一方、libfooを使用するソースコードをビルドしてコンパイルする必要がある場合は、ヘッダーファイルとその他のサポートファイルが必要です。 libfooを使用するソースコードをビルドするために必要なものは何でも。

これらのビットはlibfoo-develパッケージに含まれています。これは、libfooを使用するソースコードを構築するために必要なものです。

+0

rpmを使って "fooapp"をインストールしている場合は、アプリケーションがすでにビルドされているか、rpmをアンパッケージしている間にビルドしてコンパイルするものなのでしょうか? – itsmarziparzi

関連する問題