ْQT Creator 使用桌面套件时出现错误:“应用程序完成,退出代码为 126。”

ْQT Creator 使用桌面套件时出现错误:“应用程序完成,退出代码为 126。”

我正在我的笔记本电脑(Linux LMDE 3 Cindy OS)上使用 QT Creator 并进行 Raspberry 交叉编译。

我已经安装了基于QT的此指令并按此设置:

    mkdir ~/raspi
    cd ~/raspi
    git clone https://github.com/raspberrypi/tools
    mkdir sysroot sysroot/usr sysroot/opt

    rsync -avz pi@raspberrypi_ip:/lib sysroot
    rsync -avz pi@raspberrypi_ip:/usr/include sysroot/usr
    rsync -avz pi@raspberrypi_ip:/usr/lib sysroot/usr
    rsync -avz pi@raspberrypi_ip:/opt/vc sysroot/opt
wget http://download.qt.io/official_releases/qt/5.12/5.12.3/single/ qt-everywhere-src-5.12.3.tar.xz
tar xvf  qt-everywhere-src-5.12.3.tar.xz
cd  qt-everywhere-src-5.12.3

./configure -release -opengl es2 -device linux-rasp-pi-g++ -device-option CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot ~/raspi/sysroot -opensource -confirm-license -skip qtwayland -skip qtlocation -skip qtscript -make libs -prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -no-use-gold-linker -v -no-gbm

    make
    make install

但当我去我的QT 创建者我已经建立了一个样本Qt Widget 应用程序。我的 desktop2.pro文件是这种:

#-------------------------------------------------
#
# Project created by QtCreator 2019-05-29T19:53:02
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = desktop2
TEMPLATE = app

# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

CONFIG += c++11

SOURCES += \
        main.cpp \
        mainwindow.cpp

HEADERS += \
        mainwindow.h

FORMS += \
        mainwindow.ui

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /home/so/Desktop/trash/desktop1/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

所以当我想用我的桌面套件并且想在我的 PC 上运行它(而不是在 Raspberry 中),我收到此错误:

20:46:55: Starting /home/so/Desktop/trash/desktop1/desktop2/bin/desktop2 ...
bash: /home/so/Desktop/trash/desktop1/desktop2/bin/desktop2: cannot execute binary file: Exec format error
bash: /home/so/Desktop/trash/desktop1/desktop2/bin/desktop2: Success
20:46:55: Application finished with exit code 126.

我的Qt 版本是如下所示: 在此处输入图片描述

我的桌面套件设置 i显示已吹响: 桌面套件设置

和我的台式电脑 SS 设备设置如下所示:

台式电脑 SS 设备设置

我的 GCC 编译器设置如下所示: GCC 编译器设置

和我的qt 树莓派编译器设置如下所示: 在此处输入图片描述

  • 我猜是 GCC 编译器和 Qt 版本之间存在冲突V 5.12.3。所以我必须使用较低的版本Qt版本?
  • 或者我必须在新文件夹中使用新的配置设置再次安装该 qt 版本?
  • 或者还有什么其他推荐吗?

我在 qt 社区的这个问题链接:

https://forum.qt.io/topic/103462/qt-creator-error-with-application-finished-with-exit-code-126

更新:在 Qt Creator GUI 中的桌面套件名称附近有一个红色警告标记,当我将鼠标悬停在其上时会显示以下信息:

错误:编译器“GCC

由这个错误:

Error: The compiler "GCC (C++,X86 64bit in /usr/bin)" (X86-linux-generic-elf-64bit) cannot produce code for the Qt Version "Qt 5.12.3 (qt5)" (arm-linux-generic-elf-32bit).

对不起,我知道交叉编译是在我的 Linux 操作系统中编写代码并在例如我的 Raspberry 中运行,但正如我提到的,我现在不想这样做,我需要通过我的笔记本电脑 Linux 操作系统(通过桌面套件)测试我的代码。所以我该怎么做?我必须使用新的配置安装新的 qt v5.12.3 吗?或者我可以使用新的 GCC 编译器设置来用于我的桌面套件吗?

抱歉,我是 Qt 新手。

多谢。

相关内容