如何使用TCLAP创建以下用法?

时间:2018-01-02 20:06:54

标签: c++ command-line

我正在尝试创建以下用法{-l <string> [--no_flush] | -o <string> | -p}。我尝试了以下但我不能强迫“no_flush”仅用于“-l”。以下代码为我{-l <lut_filename> | -o <out_dir>| -p} [--no_flash] 我该怎么做?

ValueArg<string> lutArg("l", "lut", "Set LUT", true, "", "lut_filename");
SwitchArg noLUTFlashSwitch("", "no_flash", "Do not flash LUT");
cmd.add(noLUTFlashSwitch);

ValueArg<string> lutOutArg("o", "out_lut", "Dump LUT values", true, "", "out_dir");
SwitchArg pocxpSwitch("p", "pocxp", "Power cycle cameras");

vector<Arg*> xorlist;
xorlist.push_back(&lutArg);
xorlist.push_back(&lutOutArg);
xorlist.push_back(&pocxpSwitch);
cmd.xorAdd(xorlist);

cmd.parse(argc,argv);

1 个答案:

答案 0 :(得分:0)

我已获得TCLAP支持的答案,但目前的版本无法完成。