1

我想在 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 变量集,配置工作正常。

4

1 回答 1

2

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

你可以做的是通过自定义CFLAGS时间make

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

另一个选项是 William Pursell 的方法:添加一个选项./configure以打开(-Werror如果支持):

(配置.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
于 2013-01-11T22:56:03.870 回答