C++ boost::program_选项:如何指定不带";的命令--&引用;或-&引用;

C++ boost::program_选项:如何指定不带";的命令--&引用;或-&引用;,c++,boost,boost-program-options,C++,Boost,Boost Program Options,我正在使用boost::program_选项实现一个具有以下语法的命令行实用程序: myutil command [--in file_name] [---out file_name] 其中“命令”是强制性的,并且是以下命令之一: read | write | find | version | help 问题是“command”不需要--或-,我还没有找到如何使用boost::program_选项来实现这一点。没有名称的命令行选项称为: po::positional_options_desc

我正在使用boost::program_选项实现一个具有以下语法的命令行实用程序:

myutil command [--in file_name] [---out file_name]
其中“命令”是强制性的,并且是以下命令之一:

read | write | find | version | help

问题是“command”不需要
--
-
,我还没有找到如何使用boost::program_选项来实现这一点。

没有名称的命令行选项称为

po::positional_options_description p;
p.add("command", -1);
po::variables_map vm;
po::store(po::command_line_parser(ac, av).
          options(desc).positional(p).run(), vm);

是的,这很有效。一个重要的警告:位置选项也应该作为常规选项添加:
po::positional\u options\u description p
p.add(“命令”,-1)
boost::program\u options::options\u description desc
desc.add|u options()(“命令”、“读写查找版本帮助”)
po::变量\u映射vm
po::store(po::命令行解析器(ac,av).options(desc).positional(p).run(),vm)