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

dim*_*mba 6 c++ boost-program-options

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

所以,这是非常有序的.

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

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

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

谢谢

Geo*_*che 6

例如,通过使用options_descriptions成员函数add(const options_description & desc)在一个描述中收集模块中的选项:

options_description & add(const options_description & desc) ;
添加一组选项说明.除了输出运算符将显示单独的组之外,这option_descriptionsdesc单独添加all的效果相同.退货*this.

提取选项可以简单地通过将例如variables_map周围传递给模块来完成.