在模块化程序中使用Boost.Program_options

时间:2010-08-10 19:15:57

标签: c++ boost-program-options

我使用的代码包含一组模块,编译到各个库。 反过来,库以不同的组合链接以构建不同的二进制文件。

因此,它非常有序。

不同的模块使用不同的命令行参数,我想使用Boost.Program_options进行解析。

由于命令行参数集取决于哪些库链接在一起,我事先并不知道所有参数,因此无法将它们添加到program_options :: options_description。

如何让每个模块添加命令行参数并稍后读取它们?

由于

1 个答案:

答案 0 :(得分:6)

E.g。使用options_description的成员函数add(const options_description & desc)在一个描述中收集模块中的选项:

  

options_description & add(const options_description & desc) ;
  添加一组选项说明。这与单独添加option_descriptions中的所有desc具有相同的效果,但输出运算符将显示单独的组。返回*this

提取选项可以通过传递例如variables_map围绕模块。