【问题标题】:How to support commandline syntax "-DEVICE:iphone" in Boost::Program_Options?如何在 Boost::Program_Options 中支持命令行语法“-DEVICE:iphone”?
【发布时间】:2011-08-02 03:35:50
【问题描述】:

Boost::Program_Options 的默认语法是“--DEVICE iphone”。如何支持语法“-DEVICE:iphone”或“-DEVICE=iphone”?

【问题讨论】:

    标签: c++ boost boost-program-options


    【解决方案1】:

    Boost.Program_Options 有大量的option styles。您似乎想要的特定组合是:

    command_line_style::long_allow_adjacent |
    command_line_style::short_allow_adjacent |
    command_line_style::allow_long_disguise
    

    这些选项应该给你的命令行解析器的style函数:

        po::store(po::command_line_parser(argc, argv).style(<your styles here>).run(), vm);
    

    【讨论】:

    • 这不会处理 ':' 作为选项/值分隔符。为此,您需要一个自定义解析器,这是文档“Howto”部分中的第一项。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 1970-01-01
    • 1970-01-01
    • 2020-03-27
    • 1970-01-01
    相关资源
    最近更新 更多