我的 configuration.ac 文件中的以下代码不起作用(注意带有[default=no]的嵌套方括号):
AC_ARG_ENABLE(debug,
[ --enable-debug build with debugging support [default=no].],
[DEBUG="$enableval"],
[DEBUG="no"]
)
我怎样才能逃脱那些括号?
找到了!从本教程:
M4 参数用 [ 和 ] 引用。没有办法逃避这些,但是,如果你想插入 ['s 或 ]'s,你有几个选择:
因此,我的新代码是:
AC_ARG_ENABLE(debug,
AS_HELP_STRING(
[--enable-debug],
[build with debugging symbols @<:@default=no@:>@]),
[enable_debug="$enableval"],
[enable_debug="no"]
)
Brackets
是一种转义字符,所以就像你做的那样'\'
,你可以用括号转义括号[]
,例如:
AC_ARG_ENABLE(debug, [ --enable-debug build with debug support [ [default=no] ] .], [DEBUG="$enableval"], [DEBUG="no"] )
注意:[ [ ]default=no[ ] ]可能无法按预期工作,因为 m4 应该从末尾搜索 end_bracket。它应该被扩展为[ ]default=no[ ]
.
使用 AC_HELP_STRING