Podczas korzystania z biblioteki Boost, program_options
to jest bardzo łatwe do wydrukowania pomoc dla programu:Drukuj pomoc dla obu normalnych i pozycyjnych args z boost :: program_options
boost::program_options::variables_map options;
boost::program_options::options_description optionsDesc;
boost::program_options::positional_options_description positionalOptionsDesc;
//...
if(options.count("help"))
{
cerr << optionsDesc << endl;
}
ale jak można dodać opcje z positional_options_description
do komunikat pomocy? W tutorialu widzę wyjście z takiej konfiguracji, na końcu sekcji:
http://www.boost.org/doc/libs/1_52_0/doc/html/program_options/tutorial.html#id2607297
Opcja input-file
jest drukowany w pomoc i to pozycyjny. Ale nie widzę kodu. Czy jest wbudowany sposób wydrukowania go, tak jak w przypadku options_description
, czy trzeba to zrobić ręcznie? Widocznie <<
nie działa positional_options_description
, błąd kompilacji:
error: cannot bind ‘std::ostream {aka std::basic_ostream<char>}’ lvalue to ‘std::basic_ostream<char>&&’
Jeśli to pomaga, możesz znaleźć pełny kod [tutaj] (http://www.boost.org/libs/program_options/example/options_description.cpp). –
Dzięki llonesmiz, to naprawdę bardzo pomogło! Chodzi o to, że nie muszę dodawać argumentów pozycji do 'options_description', jeśli dodam je do' position_options_description', ale musisz dodać oba. – nuoritoveri