为 Beaglebone Black 编译 Qt

Posted

技术标签:

【中文标题】为 Beaglebone Black 编译 Qt【英文标题】:Compile Qt for Beaglebone Black 【发布时间】:2014-09-10 10:41:50 【问题描述】:

我想从源代码为 Beaglebone Black 编译 Qt

我有以下:

    交叉编译器:gcc-linaro-arm-linux-gnueabihf-4.9-2014.06_linux qt-everywhere-opensource-src-5.3.1。

我的主机操作系统是 Scientific Linux 6.3 32 位。 我的问题是我不知道需要将哪些参数传递给 ./confiure 工具。 我有以下线索:

    -xplatform = qtbase/mkspecs/linux-arm-gnueabi-g++ -device = qtbase/mkspecs/devices/linux-beagleboard-g++ -device-option CROSS_COMPILE=/home/anjanu/Downloads/gcc-linaro-arm-linux-gnueabihf-4.9-2014.06_linux/bin/arm-linux-gnueabihf-g++

这是正确的吗?需要传递给 ./configure 的所有内容以及 sysroot 选项的用途是什么?

【问题讨论】:

所以这应该是 Qt 根文件夹的完整路径。但是在安装 Qt 之前我怎么知道这条路径??? 看看一些已经发布 Qt5 的嵌入式 Linux 发行版,例如 Buildroot。 【参考方案1】:

基本上,这本身就足够了:

-xplatform = qtbase/mkspecs/linux-arm-gnueabi-g++

其余的几乎都是红鲱鱼......

即使工具链二进制文件使用它们的长名称正确命名,例如arm-linux-gnueabi-g++,包含和库路径可能与系统包含和库路径冲突。这正是 sysroot 所要处理的。

您可以将其设置为跨工具链安装的 PATH。不,这不是 Qt 安装。它是您可能从 Linaro 获得的 SDK,包括用于跨平台开发的整个 SDK。即编译器、链接器、剥离器、包含文件、库等等。

【讨论】:

以上是关于为 Beaglebone Black 编译 Qt的主要内容,如果未能解决你的问题,请参考以下文章

为 Beaglebone Black 构建 DAHDI

Beaglebone 上的 OpenCV 编译错误

Beaglebone Black教程Beaglebone Black的引脚分配

Beaglebone Black 和 Qt 上的 ALSA 问题:-lasound 未找到

BeagleBone Black教程之BeagleBone Black设备的连接

Beaglebone Black中安装EtherCAT主站IGH方法