如何从 autotools 生成的 makefile 中删除 -Werror?

How do I remove -Werror from autotools-generated makefiles?

我正在编译一个使用 autotools 构建过程的大型库。有很多makefile。他们每个人都得到 CFLAGS = .... -Werror.

当我尝试编译时,有一些小警告会终止我的设置。

尽管有警告,我仍想尝试构建,因此我需要从所有 makefile 中删除 -Werror。有没有办法阻止 autotools 在所有这些 makefile 中放入 -Werror

我在 configure.ac 中搜索了一下,发现了这个:

AC_ARG_ENABLE([werror],
  AS_HELP_STRING([--disable-werror], [Do not treat warnings as errors]),
  [gcc_werror=$enableval], [gcc_werror=$gcc_warnings])

所以我运行这样配置:

./configure --disable-werror

它就像一个魅力。我的 makefile 中不再有 -Werror 标志。感谢您的评论直到!

我的 sed 方式,在创建 Makefile 之后

find . -name Makefile -exec sed -i s'/-Werror//g' {} \;

在 Mac 中将 sed 替换为 gsed

对于基于 autotools 的项目,您可能需要通过:

./autogen.sh --disable-Werror

观察Werror中的大写W