为嵌入式 Debian Linux 问题编译 Qwt
Posted
技术标签:
【中文标题】为嵌入式 Debian Linux 问题编译 Qwt【英文标题】:Compiling Qwt for Embedded Debian Linux issues 【发布时间】:2017-01-26 08:34:01 【问题描述】:我使用 gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf 工具链根据http://www.eliasing.com/cubieboard2/qt5-cb2 在我的 Ubuntu 桌面上为嵌入式 Debian 交叉编译了 Qt5。 然后我配置了 Qt creator 并在 Ubuntu 桌面上编译了我的应用程序。我在 Qt creator 中设置了远程设备,并将应用程序部署在设备上。所以我可以在设备上运行我的应用程序(嵌入式 Debian)。现在我想在我的项目中添加 Qwt 库。根据 Qwt 的网站,我下载了 Qwt 源文件,cd 到源目录,然后运行以下命令:
-qmake qwt.pro
-make -j 4
-sudo make install
运行这些命令会在我的 Ubuntu 桌面上安装 Qwt。但我必须将它安装在设备上(我必须交叉编译它)。在 Qt 交叉编译步骤中,我将 -prefix 参数设置为 /opt/qt/qt5.4-A110。因此,对于 Qwt 交叉编译的第一步,我使用了以下命令:
/opt/qt/qt5.4-A110/bin/qmake qwt.pro
然后当我运行 make 命令时出现以下错误:
如果是 合适的。请包含任何错误的完整回溯 报告。有关说明,请参阅https://bugs.linaro.org。生成文件:8096: 目标“obj/qwt_plot_curve.o”的配方失败 make[1]:* [obj/qwt_plot_curve.o] 错误 1 make[1]:离开目录 '/home/amvaj/Projects/A110/OS/ClosedHeart/qt/sources/qwt-6.1.3/src' Makefile:45:目标“sub-src-make_first-ordered”的配方失败 make: * [sub-src-make_first-ordered] 错误 2
所以我认为我必须设置 ARCH 和 CROSS_COMPILE 参数。所以我清理了源代码,然后使用了下面的命令:
make ARCH=arm CROSS_COMPILER=/home/ali/toolchain/bin/arm-linux-gnueabihf-
但我遇到了同样的错误。我该怎么办?谢谢。
【问题讨论】:
【参考方案1】:我找到了解决方案! 我的工具链(Linaro 4.9)有内部错误,当我添加 QwtPlot 时,它崩溃了! 所以解决方案非常简单。我更改了我的工具链并将其降级为 Linaro 4.8
对于交叉编译,我们也可以使用 QtCreator。就像任何应用程序一样,我们必须配置我们的交叉编译器套件,然后打开 qwt.pro 并编译项目!
【讨论】:
以上是关于为嵌入式 Debian Linux 问题编译 Qwt的主要内容,如果未能解决你的问题,请参考以下文章
如何在 QT Creator 开源版本中为嵌入式 linux 交叉编译 qt
Windows下如何使用Matlab嵌入式编码器为LINUX编译?