我有麻烦boost::program_options
。我有一个由几个子组件组成的软件,每个子组件都可以声明一些要在命令行上传递的选项。我想坚持以下流程:
- 使用一些选项配置 boost::program_options
- 匹配选项
- 使用匹配的选项来初始化子组件
- 子组件构造函数声明更多选项
- 再次匹配选项以配置组件
所以,在执行的某个时刻(2),我只声明了一些选项,但程序实际上是用它们的全部集合(包括将在 3 中声明的那些)调用的,导致了一些unrecognised option '...'
错误. 我可以抓住那些,但解析无论如何都会停止。我尝试使用多个options_description
组来处理这个问题,我还研究了命令行样式 ( style_t
) 以查看其中一个是否允许忽略不匹配的参数。你有更多的想法吗?
谢谢