为 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教程Beaglebone Black的引脚分配
Beaglebone Black 和 Qt 上的 ALSA 问题:-lasound 未找到