2017-12-14 3 views
-2
んのメンバーのargcとargvの

私は(2013)旧QTアプリケーション構築を取得しようとしているが、Makefileを実行しているとき、私は、このコンパイルエラーに実行しているよ:はQApplication

applicationtrayicon.cpp:222:39: error: no member named 'argc' in 'QApplication' 
    for (int i = 0; i < QApplication::argc(); i++) 
         ~~~~~~~~~~~~~~^ 
applicationtrayicon.cpp:224:31: error: no member named 'argv' in 'QApplication' 
     args << QApplication::argv()[i]; 

ように見えるにこの機能によって引き起こさ:

void ApplicationTrayIcon::activateApplication() 
{ 
    setApplicationEnable(true); 
    window_->authenticateAndShow(); 

    OnChangeConnectedState(true); 
    login_indicator_->setIconVisibleInMenu(false); 

    // Check run args 
    QStringList args; 

    for (int i = 0; i < QApplication::argc(); i++) 
    { 
     args << QApplication::argv()[i]; 
    } 

    this->recivedCommandLine(args); 

    // Check delayed query - from drag and drop 
    if (!filesQuery_.isEmpty()) 
    { 
     window_->handleCtxMenuCommands(MainWindow::APPLICATION_CHOICE, filesQuery_); 
     filesQuery_.clear(); 
    } 
} 

オリジナルの開発者は、質問のために利用できない、と私はグーグルで、これらのメソッド(QApplication::argcQApplication::argv)については何も見つけていませんよ。

ここでは何が起こっていますか?方法がなくなっている、あなたの代わりにQStringList QCoreApplication::arguments()を使用する必要が

+1

は、main()のために広く使用されたプロトタイプのあなたが知っていますが、 "のargc"と "argv"? – Yunnosch

+0

最新のQt5バージョンを使用し、古いアプリケーションをQt5に移植します。 [QApplication](http://doc.qt.io/qt-5/qapplication.html)のドキュメントをよく読んでください –

+0

@Yunnosch私はそれらを認識しています。 'QApplication :: argv'と' QApplication :: argc'が伝統的な 'argc'と' argv'の値にアクセスする別の方法であるか、 'QApplication'が何かをしているのかどうか不明です。これらの機能に関するドキュメントが見つからないかどうかは分かりません。 – SimpleJ

答えて

4

は、コマンドライン引数のリストを返します。

だからこれらの行に置き換えます。この1行で

// Check run args 
QStringList args; 

for (int i = 0; i < QApplication::argc(); i++) 
{ 
    args << QApplication::argv()[i]; 
} 

this->recivedCommandLine(args); 

:と呼ばれる2つのパラメータを持つ

this->recivedCommandLine(QApplication::arguments()); 
関連する問題