我将宏定义放入m4 / check.m4并相应地更改我的configure.ac:
AC_INIT([CppSs], [0.1], [brinkmann@hlrs.de])
m4_include([m4/check.m4])
LT_INIT
AC_CONFIG_SRCDIR([src/main.cc])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([Makefile src/Makefile])
AC_CONFIG_MACRO_DIR([m4])
# Checks for programs.
AC_PROG_CXX
AC_PROG_CC
# ...
# Check for C++0x features
AC_COMPILE_STDCXX_OX
AC_HEADER_STDCXX_11
AC_OUTPUT
现在当我运行autoreconf -v
时,我收到了这些消息(尝试了-fiv):
configure.ac:43: warning: AC_COMPILE_STDCXX_11 is m4_require'd but not m4_defun'd
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from... m4/cppss.
m4:90: AC_HEADER_STDCXX_11 is expanded from...
./ configure yield:
...
./configure: line 16234: AC_COMPILE_STDCXX_OX: command not found
./configure: line 16235: AC_COMPILE_STDCXX_11: command not found
...
我错过了什么?
谢谢,Steffen
答案 0 :(得分:1)
我自己解决了......它是几个拼写错误(0
而不是O
等)的混合,以及将宏放入configure.ac
的错误。另外,我发现,如果它只是一些宏,那么将它们放在与acinclude.m4
相同的目录中的configure.ac
文件中更容易,并且摆脱
m4_include([m4/check.m4])
在页面底部的部分libstdc++ manual中有一个错误,其中检查了c ++ 11的功能,因为(至少在gcc中)没有编译器选项{{1} }。它应该是-std=c++11
。
干杯,斯蒂芬