2013-10-04 52 views
1

在configure.ac我已經定義在Makefile.am AM_CXXFLAGS追加到AM_CXXFLAGS不起作用

AC_SUBS([AM_CXXFLAGS], "-Wall -Wextra -Werror -std=gnu++11"]) 

我需要在我的程序來禁用一個警告

bin_Programs = foo bar 

# Works 
foo_CXXFLAGS = $(AM_CXXFLAGS) -Wno-error=unused 
foo_SOURCES = foo.cc 

# Does not work, results in CXXFLAGS being just the -Wno-error=unused 
bar_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/include 
bar_CXXFLAGS = $(AM_CXXFLAGS) -Wno-error=unused 
bar_SOURCES = bar.cc 

爲什麼它不工作爲吧?如何解決它?

旁註:vim的語法高亮,標誌着第二AM_CXXFLAGS紅色

回答

2

首先,它應該是bin_PROGRAMS,不bin_Programs。它是AC_SUBST,而不是AC_SUBS

不要從配置腳本中更改,這不是它們應該如何使用。

查看FAQ,它有你正在嘗試做的一個例子;你應該AC_SUBST荷蘭國際集團到一個新的變量,像WARNINGCFLAGS,並有Makefile.am這樣的:

AM_CXXFLAGS = $(WARNINGCFLAGS) -Wno-error=unused 

並刪除{foo|bar}_CXXFLAGS乾脆,因爲這改變後是不需要的。

+0

我認爲根本原因是在配置腳本中定義的AM_ * FLAGS。在我改變了之後,我再也沒有看到這個問題。謝謝。 – arved