3.QT中QCommandLineParser和QCommandLineOption解析命令列引數
1新建專案
main.cpp
#include<QCoreApplication>
#include<QCommandLineParser>
#include<QDebug>
#include<stdio.h>
intmain(intargc,char**argv)
{
QCoreApplicationapp(argc,argv);
app.setApplicationVersion("1.0.0.0");
app.setApplicationName("xxxxtools");
/*QCommandLineParser
QCommandLineParserparser;
//新增help選項(在視窗上有-h,--helpand?),這個選項是由
//QCommandLineParser自動自動處理的
parser.addHelpOption();
//新增-v/--version選項,這個用來顯示應用程式的版本資訊
//這個同樣是由QCommandLineParser自動處理,同樣可以通過
//QCoreApplication::setApplicationVersion()來新增版本資訊
parser.addVersionOption();
//通過QCommandLineOption
QCommandLineOptionp(QStringList()<<"p"<<"package","setpackagenameofAndroid","com.itcast.hello");
parser.addOption(p);
QCommandLineOptionl(QStringList()<<"l"<<"language","setcodelanguagec++orlua","c++");
parser.addOption(l);
//通過app.arguments()返回一系列的命令列引數
//parser.parse(app.arguments());
parser.process(app);
//通過parser來解析一系列命令列引數
QStringstrValue=parser.value("p");
//qCritical()<<"pis"<<strValue;
//打印出解析出來的命令列引數
printf("pis%s\n",strValue.toUtf8().data());
//表示的是language
strValue=parser.value("l");
qDebug()<<parser.positionalArguments();
return0;
//returnapp.exec();
}
執行專案:進入專案所在目錄E:\QT\build-T26Command-Desktop_Qt_5_3_MinGW_32bit-Debug\debug ,輸入T26Command.exe -l cpp -p cn.com.toto
彈出如下提示錯誤:
解決辦法是進入:C:\Qt\Qt5.3.1\5.3\mingw482_32\bin拷貝上面需要的dll到E:\QT\build-T26Command-Desktop_Qt_5_3_MinGW_32bit-Debug\debug目錄中!
再次執行,依次發現需要如下dll檔案
libgcc_s_dw2-1.dll
libstdc++-6.dll
libwinpthread-1.dll
icuin52.dll
icuuc52.dll
icudt52.dll
最終結果: