Boost logo

Boost Users :

Subject: [Boost-users] Program Options not saving the values
From: Angelo Mondaini (oangelo_at_[hidden])
Date: 2014-07-01 18:02:01


Dear all,
I am having a problem with the Program Options lib.
I am using Archlinux and boost-libs 1.55.0-6.
Consider the simple code:

#include "boost/program_options.hpp"

#include <iostream>
#include <string>

int main(int argc, char** argv)
{
    int add(5);
    namespace po = boost::program_options;
    po::options_description desc("Options");
    desc.add_options()
        ("help", "Print help messages")
        ("add",po::value<int>(&add)->required(), "additional options")
        ("like", "this");

    po::variables_map vm;
    po::store(po::parse_command_line(argc, argv, desc), vm);

    if ( vm.count("help") )
    {
        std::cout << "Basic Command Line Parameter App" << std::endl
            << desc << std::endl;
        return 1;
    }

    std::cout << "var: " << add << std::endl;
    std::cout << "vm: " << vm["add"].as<int>() << std::endl;
    po::notify(vm);

    return 1;
}

Compiling and running:
$ g++ program_options.cpp -lboost_program_options
$ ./a.out --add 4
var: 5
vm: 4

Why the value of the variable "add" is not receiving 4?

Thanks for any help.



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net