ヘッダー ファイル
ソースからプログラムをビルドするために必要なのは、使用するライブラリのコンパイル済みバイナリだけではありません。それらのヘッダー ファイルも必要です。
Debian、Ubuntu、およびその他の Debian ベースのオペレーティング システムでは、ヘッダー ファイルは、名前が で終わるパッケージによって提供されます-dev
。通常は、バイナリ パッケージ名に が-dev
追加されているか、バイナリ パッケージ名にいくつかのバージョン番号が削除および-dev
追加されています。
-dev
-dbg
パッケージ (コンパイル用) をパッケージ(デバッグ用)と混同しないでください。これらのパッケージが作成される方法と理由について、いくつかの情報を次に示します。
pkg-config パッケージとパッケージ マネージャーのパッケージ
ソース コードからビルドし、./configure
不足しているパッケージについて通知する場合、通常、パッケージ マネージャーで何がインストールされているかを確認していません。また、不足しているパッケージの名前は通常、パッケージと共にインストールする必要があるパッケージの正確な名前ではありません。マネジャー。( pkg-config./configure
は、スクリプトが依存関係を計算するための一般的な方法です。詳細については、この記事、マンページ、およびプロジェクト ページを参照してください。)
Package Manager を使用してインストールするパッケージを特定する
どのパッケージをインストールする必要があるかを調べるには、同じ名前で始まるパッケージ、または で始まり、lib
によって吐き出される「パッケージ」の名前が続くパッケージを調べます./configure
。で始まるパッケージlib
は、(Debian および Debian ベースのシステムでは) より一般的です。これは、ほとんどのライブラリ パッケージがそのように命名されているためです。
オンラインでパッケージを検索できます(通常、他のディストリビューションでもこれが提供されています。ここでは Debian のものです)。または、bash 補完を使用してそれらを見つけることができます。これは、システムにローカルに保存されている情報を使用するため、どのパッケージがどのバージョンでどこから入手できるかについて、最初にその情報を更新する必要があります。
sudo apt-get update
次に、パッケージをインストールするコマンドを、名前の先頭だけを入力して入力します。たとえば、次の場合glib-2.0
:
ek@Del:~$ apt-get install libglib2
libglib2.0-0 libglib2.0-cil-dev
libglib2.0-0-dbg libglib2.0-data
libglib2.0-0-dbgsym libglib2.0-dev
libglib2.0-0-refdbg libglib2.0-dev-dbgsym
libglib2.0-0-refdbg-dbgsym libglib2.0-doc
libglib2.0-bin libglib2-ruby
libglib2.0-bin-dbgsym libglib2-ruby1.8
libglib2.0-cil libglib2-ruby1.8-dbg
libglib2.0-cil-dbgsym
そこで、入力したコマンドを実行しませんでした。(呼び出されたパッケージがなく、ルートとして実行しない限り成功しないlibglib2
ため、成功しなかったでしょう。)apt-get install
代わりにTab、行末を数回押すと、候補のリストが表示されました。
これらの提案から、正しいのはlibglib2.0-dev
です。
それでもわからない場合
どちらが正しいか分からない場合もあります。その後、使用apt-cache show ...
して調べることができます。たとえば、次のものが必要かどうか疑問に思っているとしますlibglib2.0-cil-dev
。
ek@Del:~$ apt-cache show libglib2.0-cil-dev
Package: libglib2.0-cil-dev
Priority: optional
Section: libs
Installed-Size: 174
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian CLI Libraries Team <pkg-cli-libs-team@lists.alioth.debian.org>
Architecture: i386
Source: gtk-sharp2
Version: 2.12.10-2ubuntu4
Replaces: libglib2.0-cil (<< 2.12.9-2)
Depends: libglib2.0-cil (= 2.12.10-2ubuntu4)
Filename: pool/main/g/gtk-sharp2/libglib2.0-cil-dev_2.12.10-2ubuntu4_i386.deb
Size: 2408
MD5sum: 50fa0825eb4d73593bdc8419c5fc9737
SHA1: f9659e85410505f7463a7117ebb92c70af6ad3aa
SHA256: 8f9d39465f2a1d5b4cc7832660ea53bacc681811ab2c80b57cad1655d4055b01
Description-en: CLI binding for the GLib utility library 2.12
This package provides the glib-sharp assembly that allows CLI (.NET) programs
to use the GLib utility library 2.12. This is mostly useful for the GTK+ and
GNOME bindings.
.
GTK# 2.10 is a CLI (.NET) language binding for the GTK+ 2.10 toolkit
.
This package contains development files for the glib-sharp library, and should
be used for compilation
Homepage: http://www.mono-project.com/GtkSharp
Description-md5: e7432bd7eb91c1c711c14150f81a3556
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 18m
apt-cache show
必要に応じて、不完全なパッケージ名のコマンドライン補完をの代わりに引数として使用できますapt-get install
。パッケージの名前を取得する (パッケージがインストールされているかどうかに関係なく取得する) コマンドは、この目的に適しています。
必要な特定のパッケージ
表示されたメッセージを考えると、-dev
必要なパッケージはおそらく次のとおりです。
これらは Software Center にインストールできますが、複数のパッケージを簡単にインストールできるコマンド ラインをお勧めします。
sudo apt-get update && sudo apt-get install libglib2.0-dev libgdk-pixbuf2.0-dev libgtk-3-dev libcanberra-gtk3-dev libnotify-dev libx11-dev