1

-Wallautotools プロジェクトで gcc のフラグとしてandを使用-Werrorしたいのですが、configure.ac には入れたくありません。

そのため、 を使用してみましたが、マクロ呼び出し./configure CFLAGS='-Wall -Werror'の 1 つからエラーが発生しました。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'

もう1つのオプションは、WilliamPursellのアプローチです。サポートされている場合./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
于 2013-01-11T22:56:03.870 に答える