boost::program_options и "короткие" ключи
От: SP_ Украина  
Дата: 25.06.07 17:16
Оценка:
Хочу запускать прораммы с "короткими"("-" или "/") параметрами командной строки вместо "длинных"("--"), предлагаемых бустом по умолчанию.
Беру туториал:
namespace po = boost::program_options;

po::options_description desc("Allowed options");
desc.add_options()
    ("help", "produce help message")
    ("compression", po::value<int>(), "set compression level")
    ;
po::variables_map vm;
po::store(po::parse_command_line(argc, argv, desc), vm); (1)
po::notify(vm);

test.exe --help //все хорошо
test.exe -help //в (1) получаю boost::program_options::unknown_option

Модифицирую:
namespace po = boost::program_options;
using namespace po::command_line_style;
po::options_description desc("Allowed options");
desc.add_options()
    ("help", "produce help message") 
    ("compression", po::value<int>(), "set compression level")
    ;
    

int style  = allow_short | short_allow_adjacent | short_allow_next | allow_dash_for_short; 

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

Результат аналогичный.
Поигрался с разными параметрами флажками style-а. Нужной комбинации не угадал. В чем я торможу?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.