2016-05-24 118 views
0

在我的項目中,我有文件夾m4。在這個文件夾中,我有包含AX_CHECK_CXXFLAGS宏的ax_cxx_version.m4文件。autotools:如何在configure.ac中包含我自己的m4宏

在autoconf.ac然後我包括M4文件夾:

AC_CONFIG_MACRO_DIR([m4]) 

和執行autoconf的。

當我運行配置腳本它的失敗與錯誤流:

checking complex usability... yes 
checking complex presence... yes 
checking for complex... yes 
checking size of int64_t... 8 
checking for long long int... yes 
./configure: line 7235: syntax error near unexpected token `-std=c++0x' 
./configure: line 7235: `AX_CHECK_CXXFLAGS(-std=c++0x -pedantic -Wall)' 

如果添加我的宏aclocal.m4然後一切工作得很好。

什麼是包含我自己的宏的正確方法?

+0

您是否試圖將方括號括起來? 'AX_CHECK_CXXFLAGS([ - std = C++ 0x -pedantic -Wall])' – baf

+0

問題是運行autoconf後,配置腳本中沒有包含AX_CHECK_CXXFLAGS函數。所以我怎麼稱呼AX_CHECK_CXXFLAGS並不重要。 – user1209304

回答

0

問題是AC_CONFIG_MACRO_DIR實際上沒有設置包含路徑,但它讓aclocal生成正確的文件。但是aclocal是automake的一部分,如果你只是執行autoconf它不會被調用。

您可以開始撥打電話autoreconf而不是autoconf來重新生成您的文件,這應該有訣竅。或者,如果您不想依賴automake,則可以使用m4_include的其他一些技巧。

相關(由我撰寫)關於此事的文件可在Autotools Mythbuster上找到。

相關問題