autoconf – 使用AC_SEARCH_LIBS遇到configure.ac语法问题

我正在尝试使用AC_SEARCH_LIBS来查找系统上X库的位置.一些较旧的系统(RH4)在/usr/X11中有库,而大多数当前系统只是将它们放在/usr/lib中.

我尝试了以下希望只有在需要时才将-L /usr/X11R6添加到LDFLAGS:

AC_SEARCH_LIBS([XFree], [X11], [], [
  LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/usr/X11R6/lib64"
  AC_MSG_CHECKING["Looking for XFree in /usr/X11R6"]
  AC_SEARCH_LIBS([XFree], [X11], [], [
    AC_MSG_FAILURE(["Cannot find X11. Try setting LDFLAGS -L"], [-1])
  ])
])

但我从生成的配置脚本中得到语法错误:

./configure: line 15546: syntax error near unexpected token `fi'
./configure: line 15546: `fi'

我到底做错了什么?

任何帮助都是相关的.

最佳答案 我建议你先看看第15546行的配置.即使你不擅长shell脚本,这个错误通常也很明显.

那就是说,我猜在AC_MSG_CHECKING之后缺少括号,试试这个:

AC_MSG_CHECKING([Looking for XFree in /usr/X11R6])
点赞