我需要为项目中的所有源文件设置“-Wall -Werror”作为CPPFLAGS。有没有办法在autotools中做到这一点?如何在自动工具项目上设置默认CPPFLAGS
我试图在configure.ac如下:
AC_SUBST([AM_CPPFLAGS], [-Wall -Wextra])
这似乎并没有工作。
编辑: 我发现了一个m4宏称为AX_CXXFLAGS_WARN_ALL这里:http://www.gnu.org/software/autoconf-archive/ax_cflags_warn_all.html但是我得到以下错误,当我尝试使用它:
configure.ac:10: /usr/bin/m4: ERROR: recursion limit of 1024 exceeded, use -L<N> to change it
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: autom4te failed with exit status: 1
autoreconf: aclocal failed with exit status: 1
我configure.ac如下:
AC_INIT([foo], [1.0], [[email protected]])
m4_include([m4/ax_cflags_warn_all.m4])
m4_include([m4/ax_append_flag.m4])
m4_include([m4/ax_lib_oracle_oci.m4])
m4_include([m4/ax_check_openssl.m4])
AM_INIT_AUTOMAKE([foreign subdir-objects])
AM_PROG_CC_C_O
AC_PROG_CXX
AC_PROG_LIBTOOL
AX_CFLAGS_WARN_ALL
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([Makefile])
AX_LIB_ORACLE_OCI([11.0])
AX_CHECK_OPENSSL
AC_SUBST([AM_CXXFLAGS], [-fpic])
AC_OUTPUT
你真的需要为你的项目设置'-Wall -Werror'吗?或者你只是想把它作为你的*个人*默认?在后一种情况下,它传递给'configure'在您的个人构建和离开它'Makefile.am',做分销商和分布式源青睐的其他接收器。 – thiton 2012-01-18 11:53:10