osx – 使用pkg-config宏PKG_CHECK_MODULES失败

我相信这是一个相当简单的问题.我有一个非常简单的configure.ac文件,我使用的只是学习如何autoconf& pkg-config一起工作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脚本时,我收到以下错误:

./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宏无法找到,我不知道为什么.

这可能不是操作系统的特定,但我使用的是Mac OS X 10.6.8.

最佳答案
当你引导(即运行autoreconf)时,aclocal无法找到pkg.m4.这是因为pkg-config没有安装或已安装在aclocal不知道的地方. (即,它的前缀与automake不同).实际上有一大堆思想认为,使用pkg-config和autotools的最佳方法是不使用它.如果您查看autoconf邮件列表存档,您将看到这个辩论的广告.我不是说你应该避免使用pkg-config(尽管我认为最好这样做),但是请注意,很多人建议完全避免它.

转载注明原文:osx – 使用pkg-config宏PKG_CHECK_MODULES失败 - 代码日志