Я пытаюсь несколько раз проанализировать один и тот же параметр с помощью QCommandLineParser. Дело в том, что когда я пытаюсь их проанализировать, он возвращает мне пустой QStringList, что означает, что синтаксический анализатор обнаружил какую-то ошибку, даже если они правильно настроены.
Я запускаю свою программу следующим образом: ./dns-benchmark domains.txt -d "208.67.222.222" -d "208.67.220.220"
У меня есть позиционный аргумент, который возвращается правильно, но тогда мой -d
arent: /
QCoreApplication coreApplication(argc, argv);
QCoreApplication::setApplicationName("dns-benchmark");
QCoreApplication::setApplicationVersion("0.0.1");
QCommandLineParser parser;
parser.setApplicationDescription("Benchmarks a bunch of different DNS servers.");
parser.addHelpOption();
parser.addVersionOption();
parser.addPositionalArgument("source", QCoreApplication::translate("main", "Source file containing the domains to resolve."));
QCommandLineOption supplementaryDnsOption(QStringList() << "d" << "dns", "Supplementary DNS to benchmark.", "IPv4 or IPv6 address");
parser.addOption(supplementaryDnsOption);
parser.process(coreApplication);
const QStringList args = parser.positionalArguments();
QString domainsToResolveFilePath = args.at(0);
QLinkedList<QHostAddress> dnsList;
if (parser.isSet(supplementaryDnsOption)) {
const QStringList supplementaryDns = parser.values(supplementaryDnsOption);
for (qint8 i = 0; i < supplementaryDns.size() -1; i++) {
dnsList.append(QHostAddress(supplementaryDns.at(i)));
}
}
но тогда мой const QStringList supplementaryDns
полностью пуст: /