linux - 如何为 imx6 交叉编译 QT 应用程序?

标签 linux qt arm cross-compiling

如何为 Freescale Hummingboard(imx6(arm)) 交叉编译 QT 应用程序?

周围有一些指南,但我无法成功完成。

以下(以及更多)指南在 ./configure 上给我一个编译错误 http://forum.solid-run.com/linux-on-cubox-i-and-hummingboard-f8/qt5-3-on-hummingboard-t2072.html https://community.freescale.com/docs/DOC-94066 当我运行 ./configure 命令时(使用推荐的命令,我已经尝试了很多命令的可能性,但没有任何效果)。 QT 使用的所有外部库(zlib、libjpeg、libpng 等)出现编译错误。所以这是一条死胡同。

我尝试了很多东西,我什至不记得我尝试过的所有东西,但我没有任何效果。

我正在尝试为 Hummingboard 使用迷你发行版。它是一个没有窗口管理器的系统,能够运行 QT 应用程序 (QT5)。我尝试使用的构建工具是 gcc-linaro-arm-linux-gnueabi,我正在使用 QT Creator。我已经让 QT 在 Hummingboard 上运行,但我无法为它编译任何东西。

最佳答案

我终于为 IMX6 构建了一个应用程序。这是我为别人做的。这不是最佳解决方案,但它是解决方案。

我使用 Buildgear 构建迷你发行版作为操作系统(谷歌它,没有足够的链接与我的声誉)。我将我自己的应用程序附加到这个迷你发行版来构建它。这是通过在 buildfiles/cross/cross-hummingboard 文件夹中创建一个文件夹并添加一个构建文件(我的看起来像这样 http://pastebin.com/bZkJUiry )来完成的。在这个文件夹中,我还放置了一个 .tar 项目文件(包括 .pro)。为了构建它,我将“qt-gui”添加为 fs (buildfiles/cross/cross-hummingboard/fs) 的依赖项,方法是将其添加到依赖项列表中。

然后我运行 buildgear build fs,这将创建一个包含我的(工作中的)qt 应用程序的(Tarred)图像!然后我提取 ./qt-gui 可执行文件并将其通过 ssh 连接到 Hummingboard。

当然这有点麻烦所以我制作了一个脚本来自动完成这一切:http://pastebin.com/jFM6rZyY 它复制 Tars 源代码,将其与 fs 一起编译,提取可执行文件,将文件通过 ssh 发送到 hummingboard 并运行它。构建过程大约需要 3 分钟,但它确实有效,这对我来说很重要。

关于linux - 如何为 imx6 交叉编译 QT 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31811237/

相关文章:

linux - 使用 arm-none-linux-gnueabi-gcc 的冲突架构配置文件 A/M 错误

linux - 将 DB2 表数据从一个远程数据库服务器复制/替换到另一个

c++ - Linux 目录 : Getting a list of all folders inside a directory

Qt Web 引擎 : Is there a way to emulate a mobile browser?

c++ - Qt - 如何从 const 函数追加到本地列表

c++ - 工具链如何与操作系统和平台架构相关

linux - i3 - 使用带有多个键码的绑定(bind)的快捷方式

linux - Grep 查找以下划线开头和结尾的字符串

c++ - 无法从 QVBoxLayout 中删除自定义 QWidget

c - 在编写干净的 C 代码时利用 ARM 未对齐的内存访问