Command Line Argument Parsing LibrariesArgs Parsing LibrariesArgs Parsing Libs Command Line Args Parsing Libraries

    Disclaimer: I might be a bit biased here, because my own library CLIPP is also on this list.

    Library
    CLI formats
    generates usage
    handles errors
    opinions
    Argument Aggregator fixed
    • convoluted syntax
    • hard to build complex CLIs
    Argh! arbitrary
    • minimalistic
    • easy to use
    argparse fixed
    • C Library
    • hard to build complex CLIs
    Args flexible
    • convoluted syntax
    • hard to build complex CLIs
    Argtable fixed
    • C Library
    • hard to build complex CLIs
    • CLI def. hard to read
    Boost Program Options flexible
    • mature
    • supports config files
    • C++98-era syntax & technical debt
    CLI11 fixed
    • extensive feature set
    • supports config files
    • complex CLI defs. hard to read
    CLIPP arbitrary
    • relatively nice-looking, DSL-like syntax
    • complex CLIs possible
    • error handling could be better
    • not very frequently updated
    cxxopts fixed
    • hard to build complex CLIs
    DocOpt fixed
    • great readability of CLI def.
    • untyped CLI definition
    • clumsy input querying
    getopt fixed
    • C Library
    • convoluted syntax
    getopt_long fixed
    • C Library
    • convoluted syntax
    GFlags fixed
    • convoluted syntax
    TCLAP flexible
    • convoluted syntax
    • hard to build complex CLIs
    The Lean Mean C++ Option Parser fixed
    • truly convoluted syntax
    • hard to build complex CLIs