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.