Replaced getopt() with boost::program_options