如何在 QT SDK 中将可执行文件格式 x86 处理器转换为 arm 处理器

Posted

技术标签:

【中文标题】如何在 QT SDK 中将可执行文件格式 x86 处理器转换为 arm 处理器【英文标题】:How to convert execuatble file format x86 processor to arm processor in QT SDK 【发布时间】:2015-10-12 12:07:14 【问题描述】:

在我的 systemA 中,我有 debian linux with x86 处理器。我在上面安装了 QT creator,它工作正常。

在我的 systemB 我有 debian linux with arm 处理器。我需要运行在 SystemA(x86 处理器)中生成的 QT creator 可执行文件。

为此,我安装了 G++ 交叉编译器。然后我在 Tools->Option-->Build&Run-->Compilers-->Add 中手动添加了 QT creator 中安装的交叉编译器。这里我选择了ABI 为“arm-linux-generic-elf-64bit”。

现在它在 Kits 中显示类似“编译器 G++ (arm-linux-generic-elf-64bit) 无法为 QT 版本生成代码”QT 5.5.0 GCC 64 位 (x86-linux-generic- elf-64bit)""

如何解决问题?

【问题讨论】:

也许doc.qt.io/qt-4.8/qt-embedded-crosscompiling.html 会有所帮助 【参考方案1】:

您要做的是交叉编译您的应用程序。

这个错误意味着您没有要求生成 ARM 代码,而是 x86 代码。 看看doc@Zaiborg 提出的建议。

您选择了正确的编译器,但没有将您的项目设置为 ARM。在询问更多信息之前阅读该文档。

祝你在交叉编译中好运。

【讨论】:

其实我发现了错误。在手动添加编译器时,我选择了用于 x86 处理器的 QT 版本选项作为“QT 5.5.0 GCC 64 位”。现在我需要为 arm 处理器安装 QT 版本库文件。你知道如何为arm处理器安装QT版本库文件吗 是的,我就是这么说的。您将需要创建自己的交叉编译系统,就像我们给您的文档中所说的那样。阅读文档并逐步执行命令以使其正确。祝你好运,这是一件很长的事情。

以上是关于如何在 QT SDK 中将可执行文件格式 x86 处理器转换为 arm 处理器的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 机器中将 Qt Designer(.ui) 文件转换为 python(.py) 可执行文件

使用 QProcess 在 Qt 中运行外部可执行文件

Qt Creator - 无法使用调试器:program.exe 不是可执行格式:文件格式无法识别

Qt SDK的x64与x86版本号以及与VS的配合

如何在QT中将xml节点数据转换为字符串[重复]

Qt 如何生成可执行程序,用mingw32-make生成的缺少dll文件