使用-Wall运行./configure会导致找不到库

时间:2013-01-10 19:55:08

标签: c autotools automake

我想在autotools项目中使用-Wall-Werror作为gcc的标志,但我不想将它们放在我的configure.ac中。

因此,我尝试使用./configure CFLAGS='-Wall -Werror',只是为了从我的一个AC_SEARCH_LIBS宏调用中收到错误:

AC_SEARCH_LIBS([pow], [m], , AC_MSG_ERROR([Could not find standard math library.]))

在添加CFLAGS的情况下运行配置时出现错误:

configure: error: Could not find standard math library.

我在这里做错了什么?配置工作正常,没有设置CFLAGS变量。

1 个答案:

答案 0 :(得分:2)

如您所知,将编译警告提升为错误会使./configure混淆。

您可以做的是在CFLAGS时间传递自定义make

$ ./configure
$ make CFLAGS='-O2 -g -Wall -Wextra -Werror'

另一个选项是William Pursell的方法:如果支持,请为./configure添加一个选项以启用-Werror

(configure.ac)

AC_ARG_ENABLE([werror],
              [AS_HELP_STRING([--enable-werror], [Use -Werror @<:@no@:>@])],
              [:],
              [enable_werror=no])
AM_CONDITIONAL([ENABLE_WERROR], [test "$enable_werror" = yes])

(Makefile.am)

if ENABLE_WERROR
AM_CFLAGS += -Werror
endif