Pkg-config
*.pcは普通は/usr/lib/pkgconfig/以下に作成され、pkg-config が読みにいくデフォルトのパスもここだが、/usr/share/pkgconfigの場合もあるかもしれない。 --prefix=/usr/localとしてライブラリーをビルドした場合は /usr/local/lib/pkgconfig かもしれない。
*.pcのパスを独自に指定したい場合は環境変数PKG_CONFIG_PATHに指定する。export PKG_CONFIG_PATH=/usr/lib/aaa/pkgconfig など。
*.pcの記述方法は、単純にフラグに応じて出力する文字列が列挙されているだけである。 たとえばglibの.pcファイルである glib-2.0.pc の場合は、
もしも pkg-config を使わずに、直接コンパイルフラグを指定するとしたら glib_test.c
と、glibを利用するためのパスやフラグの記述が煩わしい。しかもこのパスはユーザーごとに異なる可能性もあるので、glib利用者がMakefile等に決め打ちしてもうまくいかない場合も考えられる。
一方、pkg-config を使えば
と、シンプルかつ抽象的に記述できる。