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.