【发布时间】:2012-12-17 01:54:12
【问题描述】:
当您使用 Boost 库 program_options 时,很容易为您的程序打印帮助:
boost::program_options::variables_map options;
boost::program_options::options_description optionsDesc;
boost::program_options::positional_options_description positionalOptionsDesc;
//...
if(options.count("help"))
{
cerr << optionsDesc << endl;
}
但是如何将positional_options_description 中的选项添加到帮助消息中?在本教程中,我可以在本节末尾看到这种设置的输出:
http://www.boost.org/doc/libs/1_52_0/doc/html/program_options/tutorial.html#id2607297
选项input-file 打印在帮助中,它是定位的。但我看不到代码。
有没有内置的打印方式,比如options_description,或者你必须手动打印?显然<<不适用于positional_options_description,编译错误是:
error: cannot bind ‘std::ostream {aka std::basic_ostream<char>}’ lvalue to ‘std::basic_ostream<char>&&’
【问题讨论】:
-
如果有帮助,可以找到完整代码here。
-
感谢 llonesmiz,确实帮了大忙!我认为如果我将它们添加到
positional_options_description,我不必将位置参数添加到options_description,但您必须同时添加它们。
标签: c++ boost command-line-arguments boost-program-options