Эта ошибка возникает, когда я использую сигнал Connect и слоты - PullRequest
0 голосов
/ 31 октября 2019

когда я выполняю это на рабочем столе, все работает нормально, но при попытке развертывания на удаленном устройстве возникает ошибка.

connect(ui->lineEdit, &QLineEdit::returnPressed, this, [=]()->void
{
    QString str = ui->lineEdit->text();
    qDebug()<<"Input (HEX) = " << str;
    bool ok;
    int iVal = str.toInt(&ok,16);
    QString binnumber = str.setNum(iVal, 2);
    if(ok)
        ui->lineEdit_2->setText(binnumber);
    else
        ui->lineEdit_2->setText("Not a number");
    qDebug()<<"output in binary = " << binnumber;
});

ошибки:

1).
/usr/local/Qt-4.8.7-arm/include/QtGui/qlineedit.h:196: error: ‘void QLineEdit::textEdited(const QString&)’ is protected
     void textEdited(const QString &);
          ^
2). 
/home/ijaz/Qt_applications/update_automatically/mainwindow.cpp:24: warning: lambda expressions only available with -std=c++11 or -std=gnu++11 [enabled by default]
     });
     ^
3).
/home/ijaz/Qt_applications/update_automatically/mainwindow.cpp:24: error: no matching function for call to ‘MainWindow::connect(QLineEdit*&, void (QLineEdit::*)(const QString&), MainWindow* const, MainWindow::MainWindow(QWidget*)::__lambda0)’
     });
      ^

1 Ответ

0 голосов
/ 31 октября 2019

Как показано в сообщении об ошибке, ваше целевое устройство имеет Qt по этому пути /usr/local/Qt-4.8.7-arm, что показывает, что версия Qt 4.8.7. Лямбда-выражения для сигнала / слота требуют Qt 5 и недоступны в Qt 4.8.7. Либо обновите версию Qt на целевом устройстве, либо займитесь разработкой рабочего стола на той же версии, что и на целевом встроенном устройстве.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...