【问题标题】:Using Qt ARM prebuilt binaries to cross-compile使用 Qt ARM 预构建的二进制文件进行交叉编译
【发布时间】:2015-09-16 14:36:17
【问题描述】:

我有一个带有 Arch Linux ARM 发行版的小型 ARM 板。存储库中提供了 ARM Qt 5.5.0 二进制文件。

我想在我的 Ubuntu Trusty x86_64 虚拟机上使用 Qt 为该板交叉编译一个程序。我需要先从源代码交叉编译 Qt,还是有办法重用预构建的 ARM 二进制文件?

我的意思是,当我尝试在 Qt Creator 中设置 Qt 工具包时,它希望我指向 qmake 可执行文件。而且 ARM 可执行文件在我的构建机器上不是可执行。所以看来我需要构建 Qt 才能获得 qmake。但是它带有自己的一组库,我不确定是否可以替换它们。

【问题讨论】:

  • 不了解 Arch Linux。也许你最好使用 Debian 和 multi-arch 支持:
  • @yegorich 你的意思是我需要在 ARM 计算机上安装 Debian在我的构建机器上,然后启用多架构以使用我构建机器上存储库中的预构建 ARM 二进制文件?
  • 是的。看看这个project。它描述了 debootstrap 方法,即创建基本 Debian 根文件系统的方法。
  • 另一种方法是采用Buildroot。创建根文件系统需要更多时间,但是您可以更灵活地更改它,并且您在主机 Linux 发行版中是独立的,即您可以保留 Arch Linux。它还集成了引导加载程序、内核和您自己的软件构建。
  • 为了完整起见,请查看thread

标签: c++ qt arm qt-creator cross-compiling


【解决方案1】:

根据您的 ARM 板上有多少内存,您可以考虑直接在您的板上编译。然后你必须安装 Qt 的开发包。

在 Orange Pi One 板上,我什至可以直接在板上运行 Qt Creator。在没有 HDMI 输出的较小板上,我运行 VNC 服务器并使用通过 Wifi 连接到板的主机上的窗口在板上运行的 Qt Creator。

在更小的板上,我通常使用 buildroot 创建自己的映像,它非常舒适,并且支持在主机上使用 Qt Creator 进行开发和交叉编译。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 2020-05-03
    • 1970-01-01
    • 2023-04-02
    • 2015-04-14
    • 2018-01-20
    • 1970-01-01
    相关资源
    最近更新 更多