9

.pcファイルをインストールする場所を知るにはどうすればよいですか? これらのファイルは、オペレーティング システムごとに異なる場所に配置されます。$(INSTALL) mylib.pc $$(pkg-config --pcdir)目標は、インストール ターゲットのようなものを使用できるようにすることです。どうにかして教えてくれるだろうと思っpkg-configたのですが、何も見つかりません。

プレーンな Makefile で使用できる「スタンドアロン」ソリューションを探しています (autotools などからのサポートは必要ありません)。

4

4 に答える 4

12

pkg-config 0.24 以降では、「pkg-config --variable=pc_path pkg-config」を実行できます。

https://bugs.freedesktop.org/show_bug.cgi?id=14975

于 2010-09-06T22:00:30.527 に答える
6

更新:明らかにこれを行う方法があります:

pkg-config --variable pc_path pkg-config

このバグレポートに記載されています (コメント #4 を参照)。現在のマニュアルページは、これを文書化しているようです。

元の答え:

恐ろしいハックな解決策(ボーンシェルを想定):

pkg-config --debug 2>&1 |grep Scanning | sed -e 's/Scanning directory //' -e "s/'//g"

これにより、複数の場所が表示される場合があります。

編集者 @just someone

短いバージョン

pkg-config --debug 2>&1 | sed -ne '/Scanning directory /s///p'

最初のディレクトリの後で停止するには:

pkg-config --debug 2>&1 | sed -ne '/Scanning directory /{s///p;q;}'
于 2010-03-01T23:20:14.970 に答える
3

${libdir}/pkgconfig (つまり、${prefix}/lib/pkgconfig) に移動する必要があります。

基本的に、ライブラリをインストールして ${libdir} に配置する場合、.pc ファイルは ${libdir}/pkgconfig に配置する必要があります。

于 2010-05-28T14:06:06.580 に答える
1

残念ながら、ストックインストール (バージョン 0.23 用) の場合、バイナリ (例: )pkg-configで実行する以外に、デフォルトの「PC パス」を抽出する方法はありません。stringsstrings /usr/bin/pkg-config | grep '/usr/.*/pkgconfig'

PKG_CONFIG_PC_PATHカスタムビルドをインストールできる場合は、パッチを適用して、適切なオプションで実行したときの値を書き出すだけです。

おそらく役に立たない別のオプション(ただし、完全を期すために言及します)は、をPKG_CONFIG_PATH呼び出すときに環境変数を設定することpkg-configです。

于 2010-02-28T22:21:38.653 に答える