【发布时间】:2015-08-27 17:51:49
【问题描述】:
如何为飞思卡尔 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 上工作,但我无法为它编译任何东西。
【问题讨论】:
-
实际错误是什么?交叉编译器是否可以从目标文件系统中确定地看到适当的头文件和(ARM 版本的)库? (注意:不是你的主机的)
-
这是命令的输出:pastebin.com/EW1Hwd5F 我运行这个命令:./configure \ -opengl es2 \ -device linux-imx6-g++ \ -device-option CROSS_COMPILE=/home/bob /Downloads/gcc-linaro-arm-linux-gnueabi-2012.04-20120426_linux/bin/arm-linux-gnueabi- \ -sysroot /media/bob/rootfs/ \ -opensource \ -confirm-license \ -optimized-qmake \ - release \ -make libs \ -prefix /opt/qtpls \ -no-pch \ -nomake examples \ -nomake tests \ -no-xcb \ -eglfs \ -v Sysroot 被设置为带有 mini-distirbution 的挂载镜像跨度>
-
阅读some documentation。对于 Qt5,您似乎需要一个 -device 来指定 Qt4 中的许多参数。您的编译器错误出现在 x86 文件上,该文件不适用于 ARM 编译器。有些东西是宿主工具(cross-qmake),确实需要 PC 编译器。
-
感谢您的回复,如您所见,我已将设备设置为“-device linux-imx6-g++”。我有指定很多东西的文件。
-
你有需要的标题吗?您肯定会拥有这些库,因为如果您使用 yocto 构建了您的 rootfs,那么除非您进行了一些更改,否则您将不会拥有大部分标题。通过传递这些选项 (-qt-zlib -qt-libpng -qt-libjpeg) 而不是使用外部库使用 qt 库
标签: linux qt arm cross-compiling