ubuntu qt 交叉编译龙芯平台
- qt源码下载:https://download.qt.io/development_releases/qt/
- 例如这个版本https://download.qt.io/archive/qt/5.13/5.13.2/single/
- 我们需要编译的是这个版本 linux-mipsel-broadcom-97425-g++
- 进到路径 cd qt-everywhere-src-5.13.2/qtbase/mkspecs/devices/linux-mipsel-broadcom-97425-g++
- 先看一下qmake.conf 里面的编译 CROSS_COMPILE = mipsel-linux- 是不是这个编译器
- 在ubuntu下 看一下是否有 mipsel-linux- 交叉编译器, 如果ubuntu 里面没有这个交叉编译器, 先去安装一个 可以参考: https://blog.csdn.net/xingjiarong/article/details/49862159
- 回到 qt-everywhere-opensource-src-5.6.0-rc路径下, 需要执行 configure 文件, 执行命令我们写个脚本 build.sh
- /opt/qt5.13.2-mipsel/ 这个是安装路径, -xplatform devices/linux-mipsel-broadcom-97425-g++ 是安装mipsel版本
注意并没有安装xcb(在图形界面中显示需要用到库)
我的虚拟机上安装过tslib(触摸屏库),所以直接加上了, 如果ubuntu没有,需要安装tslib,请先交叉编译tslib./configure -prefix /opt/qt5.13.2-mipsel/\-release -opensource -make libs \-xplatform devices/linux-mipsel-broadcom-97425-g++ \-optimized-qmake \-pch \-qt-libjpeg \-qt-libpng \-qt-zlib \-qpa linuxfb \-no-opengl \-skip qt3d \-skip qtcanvas3d \-skip qtpurchasing \-no-sse2 \-no-openssl \-no-cups \-no-glib \-no-iconv \-no-pch\-make examples \-make tools \-skip qtvirtualkeyboard \-tslib \-I/opt/tslib-mipsel/include \-L/opt/tslib-mipsel/lib \-recheck-all - CMake Error at qtbase/cmake/QtProcessConfigureArgs.cmake:46 (list):
list does not recognize sub-command FILTER 如果提示这个错误 说明cmake版本太低, 升级cmake, 或者更换 qt 的低版本 -
ERROR: Cannot compile a minimal program. The toolchain or QMakeSpec is broken.
Check config.log for details. 如果提示这个错误 或者这个错误: Failed to process makespec for platform 'devices/linux-mipsel-broadcom-97425-g++' 修改 vi qtbase/mkspecs/devices/linux-mipsel-broadcom-97425-g++/qmake.conf 注释掉 isEmpty 和 带 error 的那几行 然后在执行 build.sh

-
生成 Makefile文件之后 执行 make -j8 需要一段时间
-
make install
-
cd /opt/qt5.13.2-mipsel/bin
-
ln -s qmake qmake-mipsel-5.13.2
-
vi ~/.profile PATH="$PATH:/opt/qt5.13.2-mipsel/bin/" 添加环境变量 source ~/.profile
-
qmake 按tab键 看看是否成功
-
在需要编译龙芯平台的路径下 执行 qmake-mipsel-5.13.2 ../ 生成新的makefile文件,执行make编译
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
