我使用gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf工具链,根据http://www.eliasing.com/cubieboard2/qt5-cb2在我的Ubuntu桌面中为一个嵌入式Debian交叉编译了Qt5。 然后我配置了Qt creator并在Ubuntu Desktop上编译了我的应用程序。我在Qt creator中设置了远程设备,并在设备上部署了应用程序。所以我可以在设备上运行我的应用程序(嵌入式Debian)。现在我想在我的项目中添加Qwt库。根据Qwt的网站,我下载了Qwt源文件,cd到sources目录,然后在命令下运行:
-qmake qwt.pro
-make -j 4
-sudo make install
在我的Ubuntu桌面上运行这些命令安装Qwt。但我必须在设备上安装它(我必须交叉编译它)。在Qt交叉编译步骤I中,将-prefix参数设置为/opt/qt/qt5.4-A110。因此,对于Qwt交叉编译的第一步,我使用了波纹管命令:
/opt/qt/qt5.4-A110/bin/qmake qwt.pro
然后当我运行make命令时,我得到了以下错误:
请提交完整的错误报告,如果有预处理来源 适当。请包含任何错误的完整回溯 报告。有关说明,请参阅https://bugs.linaro.org。 Makefile文件:8096: 目标食谱' obj / qwt_plot_curve.o'失败了[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-
但我得到了同样的错误。我该怎么办?感谢。
答案 0 :(得分:0)
我可以编译Qwt。
在qwtconfig.pri
我评论了(QWT_CONFIG += QwtPlot
)和(QWT_CONFIG += QwtDesigner
)并将QWT_INSTALL_PREFIX
更改为我的设备rootfs地址。实际上,我的可启动SD卡有一个.img
备份并挂载到/media/root
。所以我将QWT_INSTALL_PREFIX
设置如下:
/media/root/usr/local/qwt-$$QWT_VERSION
然后我使用了我的目标qmake
,如下所示:
/media/root/home/qt5/bin/qmake qwt.pro
在这条指令之后,我使用make
然后使用sudo make install
instaructions,每个瘦身都很好!
现在我想添加QwtPlot
,因此我在qwtconfig.pri
中取消注释,然后再次执行孔处理。但我给出了以下错误:
Makefile:7804:目标配方' obj / qwt_plot_curve.o'失败 make [1]:*** [obj / qwt_plot_curve.o]错误1
QwtPlot需要任何库还是有任何依赖?
答案 1 :(得分:0)
我找到了解决方案! 我的工具链(Linaro 4.9)有内部错误,当我添加QwtPlot时,它崩溃了! 所以解决方案非常简单。我更改了我的工具链并将其降级为Linaro 4.8