PolicyKitを使用する必要があるアプリケーションを開発していますが、PolicyKitはGlibライブラリを使用しているようです。 PolicyKitをインストールしましたが、ヘッダーの位置がおよび/usr/include/polkit-1/
にあります/usr/include/glib-2.0
。
ヘッダーの内部位置は
/usr/include/
、、
/usr/include/polkit
です/usr/include/gobject
。
コンパイラがヘッダーがある場所が見つからないため、コンパイルできません。ヘッダー一つ一つ修正してみましたが、時間も長すぎていつ完成するのかわかりませんね。
ここでの問題は、インストール時にインストールされ/usr/include/polkit-1
、/usr/include/glib-2.0
いつ別々にインストールする必要があるかです/usr/include
。つまり、フォルダがあってはpolkit-1
なりませんglib-2.0
。ファイルとフォルダを適切な場所に配置してこの問題をすばやく解決する方法を知っている人はいますか?
ベストアンサー1
詳細はわかりませんが、一部のパッケージとライブラリはこの方法でファイルをインストールし、pkg-config
正しいパスを見つけるために使用できるようにパスを使用してファイルをインストールします。
まだ使用していませんが、ここpolkit
ではライブラリで使用してコンパイルする「cflags」をglib-2.0
要求できます(「cflags」は、Cコンパイラがインクルードパスとライブラリにコンパイルするエントリを指定するために使用されるフラグです)。追加されたライブラリ)リンク):pkg-config
glib-2.0
$ pkg-config --cflags --libs glib-2.0
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -lglib-2.0
私の考えでは、polkit-1
$ pkg-config --cflags --libs glib-2.0 polkit-1を実行するようです。
マンページの次の例に示すように、これらのパラメータを使用してコンパイルするには、そのパラメータをmakefileの変数に保存するか、結果をコピーするか、pkg-config
シェルから直接呼び出します。
cc program.c $(pkg-config --cflags --libs gnomeui)
(実際にはこの例はMakefile
ルールですが、シェルでもこれを行うことができます。)
詳細については、マンページを参照して、以下で利用可能なファイルとその.pc
ファイル /usr/lib/pkgconfig
を確認してください。/usr/share/pkgconfig
/usr/local
AFAIK、これは外部ライブラリにコンパイルする移植可能な方法です。