QT Creator не может удаленно запускать и отлаживать на i.Mx6 (корневая сборка)

Используя Qt Creator 4.0.2 на базе Qt 5.7.0, мое приложение называется test

Плата: i.M6Q с buildroot (Qt 5.9)

Вопросы:

A. Когда я запускаю приложение qt, появляется эта ошибка

EGL library doesn't support Emulator extensions 
Aborted
Application finished with exit code 134.

Но я могу запустить приложение qt на плате с помощью ./test, и оно отображается нормально.

B. И когда я начинаю отладку, покажите эту ошибку

The GDB process terminated unexpectedly (exit code 1)

Как исправить эти ошибки?

Вот что я настроил:

  1. test.pro

    QT += core gui
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
    TARGET = test
    TEMPLATE = app
    SOURCES += main.cpp\
    mainwindow.cpp
    HEADERS  += mainwindow.h
    FORMS    += mainwindow.ui
    
    target.path = /root/test
    INSTALLS += target
    
  2. Инструменты > Параметры > Сборка и запуск > Компиляторы

    Имя : imx6 buildroot GCC

    buildroot/output/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-g++
    
  3. Инструменты > Параметры > Сборка и запуск > Отладчики

    Имя : IMX6 buildroot gdb

    buildroot/output/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-gdb
    
  4. Инструменты > Параметры > Сборка и запуск > Версии Qt

    Название версии: Qt %{Qt:Version} (buildroot)

    buildroot/output/host/usr/bin/qmake
    
  5. Инструменты > Параметры > Сборка и запуск > Наборы выглядят как на этом изображении

  6. Инструменты > Параметры > Устройства:

    Device test finished successfully.
    
  7. Это мой main.cpp

    #include "mainwindow.h"
    #include <QApplication>
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        MainWindow w;
        w.show();
    
        return a.exec();
    }
    

person Julia Ding    schedule 21.02.2018    source источник
comment
Пожалуйста, не ссылайтесь на изображения сообщений об ошибках; вместо этого добавьте текст к своему вопросу.   -  person Murphy    schedule 21.02.2018
comment
@Murphy, спасибо за совет, я отредактировал сообщения об ошибках в текстовом режиме.   -  person Julia Ding    schedule 21.02.2018


Ответы (1)


Это сообщается об ОШИБКЕ Qt. Проблема в том, что система сборки не выбирает правильный серверная часть eglfs

Решение состоит в том, чтобы экспортировать:

QT_QPA_EGLFS_INTEGRATION=eglfs_viv перед запуском приложений Qt или

QT_QPA_EGLFS_INTEGRATION=none
person Mohammad Kanan    schedule 21.02.2018
comment
Когда я запускаю сегодня, он показывает другую ошибку, которая является строкой 1: синтаксическая ошибка: неожиданно;; . И он не может нормально запускать приложение qt на плате. - person Julia Ding; 22.02.2018
comment
А в «Общих сообщениях» отображается «buildroot/output/host/mkspecs/features/qmake_use.prf(6): «take_first» не является распознанной функцией замены. ОШИБКА проекта: библиотека '' не определена.' - person Julia Ding; 22.02.2018
comment
@JuliaDing Кажется, это новые ошибки кода, не связанные с этим сообщением. вы можете закрыть этот пост и задать новый с достаточным количеством деталей - person Mohammad Kanan; 22.02.2018
comment
Я искал eglfs_viv, затем обнаружил, что на моей плате нет графического ускорения для приложения qt, работающего с eglfs_viv. Когда я ввожу «# CinematicExperience-demo -platform eglfs», отображается «qt.qpa.egldeviceintegration: не удалось загрузить интеграцию устройства EGL eglfs_viv». А CinematicExperience-demo запускается нормально? ! Я попробую включить ускорение графики на i.Mx6, потом еще раз попробую ваш ответ. если это сработает, я проверю ваш ответ, спасибо. - person Julia Ding; 22.02.2018
comment
Изначально я использую VMware Ubuntu. Когда я не использую VMware, приложение qt успешно запускается и отлаживается. - person Julia Ding; 26.02.2018