我使用的代码包含一组模块,编译到各个库。 反过来,库以不同的组合链接以构建不同的二进制文件。
因此,它非常有序。
不同的模块使用不同的命令行参数,我想使用Boost.Program_options进行解析。
由于命令行参数集取决于哪些库链接在一起,我事先并不知道所有参数,因此无法将它们添加到program_options :: options_description。
如何让每个模块添加命令行参数并稍后读取它们?
由于
答案 0 :(得分:6)
E.g。使用options_description
的成员函数add(const options_description & desc)
在一个描述中收集模块中的选项:
options_description & add(const options_description & desc) ;
添加一组选项说明。这与单独添加option_descriptions
中的所有desc
具有相同的效果,但输出运算符将显示单独的组。返回*this
。
提取选项可以通过传递例如variables_map
围绕模块。