11

これはかなり単純な問題だと確信しています。autoconfとpkg-configがどのように連携するかを学ぶために使用している非常に単純なconfigure.acファイルがあります。confgure.acファイルは次のようになります。

AC_PREREQ(2.61)
AC_INIT(autoconf_test, 1.0, nowhere@dev.null)

PKG_CHECK_MODULES(libusbmuxd, libusbmuxd >= 0.1.4)

その後、コマンド ラインから autoconf を実行すると、configure スクリプトが生成されます。ただし、構成スクリプトを実行すると、次のエラーが発生します。

./configure: line 1618: syntax error near unexpected token `libusbmuxd,'
./configure: line 1618: `PKG_CHECK_MODULES(libusbmuxd, libusbmuxd >= 0.1.4)'

コマンドラインから pkg-config プログラムを使用して、このライブラリが見つかるかどうかを確認すると、成功します。

/usr/lib/pkgconfig $pkg-config --libs --cflags --modversion libusbmuxd

1.0.7
-I/usr/local/Cellar/usbmuxd/1.0.7/include  -L/usr/local/Cellar/usbmuxd/1.0.7/lib -lusbmuxd  

したがって、何らかの理由でPGK_CHECK_MODULEマクロが見つからないことは明らかであり、その理由はわかりません。

これはおそらく OS 固有ではありませんが、私は Mac OS X 10.6.8 を使用しています。

4

2 に答える 2

19

ブートストラップ中 (つまり、autoreconf の実行中) に、aclocal は pkg.m4 を見つけることができません。これは、pkg-config がインストールされていないか、aclocal が知らない場所にインストールされているためです。(つまり、automake とは異なるプレフィックスでインストールされました。) これを解決するには、pkg-configインストールされた場所を見つけpkg.m4て、そのディレクトリを検索パスに追加する必要があります。たとえば、pkg-configインストールされている$HOME/share/aclocal/pkg.m4場合は、実行する必要がありますautoreconf -I$HOME/share/aclocal

実際には、pkg-config を autotools で使用する最善の方法は使用しないことであるという考え方が多数あります。autoconf メーリング リストのアーカイブに目を通してみると、この議論のむずかしい話に気付くでしょう。多くの人がそれを完全に避けることを勧めていることに注意してください.

于 2011-12-21T11:43:43.630 に答える
1

自作の人々は、これは自分たちの問題ではないと判断し、警告にまとめたようです。誰も homebrew や automake を使用しておらず、何が間違っているのかを詳細に掘り下げなければならないことを期待しているので、誰も見ることができないので、非常にイライラします。リンクはこちらです。

于 2016-02-02T21:04:20.110 に答える