我想在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变量。
答案 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