我是 automake 的新手,但通过文档找到了自己的方式,并按照我的喜好构建了所有内容。但是,我目前打开了 CFLAGS="-Wall -Werror" 。虽然这对 gcc 非常有用,但我假设有人将使用非 gcc 编译器构建我的代码。检测是否正在使用 GCC 并仅为 GCC 设置这些标志的正确方法是什么?
编辑
解决方案如下所示:
- 下载http://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html并将宏放在项目的 ./m4/ 目录中。
将以下行添加到您的 configure.ac:
AX_CHECK_COMPILE_FLAG([-Wall], [CFLAGS="$CFLAGS -Wall"], [], []) AX_CHECK_COMPILE_FLAG([-Werror], [CFLAGS="$CFLAGS -Werror"], [], [])
编辑 2
这个宏也可能比 -Wall 更有用,因为它对多个编译器做同样的事情:http ://www.gnu.org/software/autoconf-archive/ax_cflags_warn_all.html