动词/动作命令行界面的任何C++库?

Any C++ libraries for verb/action command line interfaces?

本文关键字:任何 C++ 命令行界面 动词      更新时间:2023-10-16

正如标题所暗示的那样,我正在尝试找到一个库(仅标题会很好),它可以轻松实现您在 Web 应用程序中看到的这些漂亮的小命令行界面,这些界面的形式为:

$ application --general-flag=asdf action --action-specific-flag=asdf positional --more-flags

例如:

$ hugo new site --force --format=toml mysite

$ hugo --buildDrafts

对于 Go,有一些(在我看来)非常好的库,例如 cobra 或 kingpin (github.com/alecthomas/kingpin)。 但是,我无法在 c++ 中找到我喜欢的类似库。 大多数解决方案似乎使用起来相当复杂,冗长或仍然需要大量的手动工作。

一般来说,他们似乎正在通过观察来解决问题 在如何解析参数和选项而不是如何构建命令 线路接口。

模板化有时依赖于启用的 RTTI,这必须在我的应用程序中禁用。 我看过的是:tclap,optionparser(optionparser.sourceforge.net/),cmdline(github.com/tanakh/cmdline),args.hxx(github.com/Taywee/args)。

Args.hxx看起来最有前途,但依赖于RTTI。 你知道我可能忽略了什么图书馆吗?也很抱歉链接,我不允许超过 2 个,但仍然想提供有关我已经尝试过的一些信息。

虽然我个人从未使用过它,但你可以看看Boost.Program_options。但是,我不确定是否需要RTTI。