我的configuration.ac文件中的以下代码不起作用(请注意嵌套方括号[default = no]):
AC_ARG_ENABLE(debug,
[ --enable-debug build with debugging support [default=no].],
[DEBUG="$enableval"],
[DEBUG="no"]
)
Run Code Online (Sandbox Code Playgroud)
我怎么能逃脱这些括号?
use*_*429 20
找到了!从本教程:
M4参数用[和]引用.没有办法逃避这些,但是,如果你想插入['s或],你有几个选择:
- 使用'Quadrigaph'.@ <:@给你[和@:> @给你].
- 平衡你的报价.M4将[[]]转入[].小心在宏的参数中使用它.有时候,你也需要加倍引用([[[]]].
- 使用:changequote(<<,>>)更改引用以将引用更改为<<和>>.autoconf文档(正确地,在我看来)警告不要(过度)使用它,因为它可能导致意想不到的结果.
- 尽可能避免[和].这是我个人的选择.
因此,我的新代码是:
AC_ARG_ENABLE(debug,
AS_HELP_STRING(
[--enable-debug],
[build with debugging symbols @<:@default=no@:>@]),
[enable_debug="$enableval"],
[enable_debug="no"]
)
Run Code Online (Sandbox Code Playgroud)
小智 9
Brackets是一种转义字符,所以当你这样做时'\',你可以[]用括号转义括号,例如:
AC_ARG_ENABLE(debug,[ - enable-debug build with debugging support [ [default = no] ].],[DEBUG ="$ enableval"],[DEBUG ="no"])
注意:[ [] default = no [] ]可能无法正常工作,因为m4应该从末尾搜索end_bracket.它应该扩展到[ ]default=no[ ].
Any*_*orn -1
使用 AC_HELP_STRING
| 归档时间: |
|
| 查看次数: |
3683 次 |
| 最近记录: |