Boost.Program_options VS gflags

Compare Boost.Program_options vs gflags and see what are their differences.

Boost.Program_options

Boost.org program_options module (by boostorg)
CLI

gflags

The gflags package contains a C++ library that implements commandline flags processing. It includes built-in support for standard types such as string and the ability to define flags in the source file in which they are used. Online documentation available at: (by gflags)
CLI
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
Boost.Program_options gflags
1 4
97 2,803
- 1.2%
5.5 0.0
10 days ago 5 months ago
C++ C++
- BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Boost.Program_options

Posts with mentions or reviews of Boost.Program_options. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-09.

gflags

Posts with mentions or reviews of gflags. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-21.
  • All 1,400 Google Chrome CLI flags
    4 projects | news.ycombinator.com | 21 Dec 2022
  • Resolved an issue in gflags which has been opened for about 7 years
    2 projects | /r/cpp | 24 Jan 2022
    Someone opened an issue at https://github.com/gflags/gflags/issues/76, to request for a feature of flag alias, and it has been opened for about 7 years.
  • New to photogrammetry, getting started?
    7 projects | /r/photogrammetry | 12 Apr 2021
    git clone https://github.com/gflags/gflags.git
  • Why Do Long Options Start with Two Dashes?
    9 projects | news.ycombinator.com | 8 Apr 2021
    Google's command line flags library, known to the public as absl::Flags and formerly gflags, does not distinguish between --foo and -foo, these are both the flag "foo". Each flag has a unique name so there is never a short -f equivalent to --foo, and -foo can never mean -f -o -o.

    The main design motivation of absl::Flags is that the flag definitions can appear in any module, not just main. Go inherits this. A quirk that Go did not inherit is gflags --nofoo alternate form of --foo=false.

    This is all documented at https://gflags.github.io/gflags/#commandline, which is pretty much a literal export of the flags package documentation that a Google engineer would see internally.

What are some alternatives?

When comparing Boost.Program_options and gflags you can also consider the following projects:

jarro2783/cxxopts - Lightweight C++ command line option parser

Vcpkg - C++ Library Manager for Windows, Linux, and MacOS

CLI11 - CLI11 is a command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface.

conan - Conan - The open-source C and C++ package manager

args - A simple header-only C++ argument parser library. Supposed to be flexible and powerful, and attempts to be compatible with the functionality of the Python standard argparse library (though not necessarily the API).

Ncurses - ncurses Git mirror

docopt.cpp - C++11 port of docopt

termbox - Library for writing text-based user interfaces