本教程仅适用于qt-everywhere 5.14.0.迄2021.07.14本人发布为止,这是互联网上能找到的最新的交叉编译版本教程。-真实 详细 半可用(后续未测试是否能运行)。
1.首先下载qt http://download.qt.io/。 因为15以后都需要手工自己编译。所以我就选5.14.0 用于写代码的qtcreator: https://download.qt.io/archive/qt/5.14/5.14.0/qt-opensource-linux-x64-5.14.0.run 用于交叉编译的qteverywhere https://download.qt.io/archive/qt/5.14/5.14.0/single/qt-everywhere-src-5.14.0.tar.xz 之前选的是14.2。后来死活编译不过。 选对版本很重要。qt安装过程略。
3.准备安装环境 sudo apt install make sudo apt install g++ sudo apt-get install build-essential libgl1-mesa-dev sudo apt-get install freeglut3-dev sudo apt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev
4.安装交叉编译工具 sudo apt-get install gcc-arm-linux-gnueabi
5.解压everywhere tar -xvf qt-everywhere-src-5.14.0.tar.xz
6.进入 解压后的目录 qtbase/qkmskspec/linux-arm-gnueabi-g++文件夹。编辑底下的.conf 加入 QT_QPA_DEFAULT_PLATFORM = linuxfb:fb=/dev/fb0 QMAKE_CFLAGS_RELEASE += -O2 -march=armv7-a #// march是处理器架构,我的是armv7-a QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv7-a
6.cd 解压目录 ./configure -prefix /home/qt14-arm -release -opensource -make libs -xplatform linux-arm-gnueabi-g++ -optimized-qmake -pch -qt-libjpeg -qt-zlib -no-opengl -skip qt3d -skip qtcanvas3d -skip qtpurchasing -no-sse2 -no-openssl -no-cups -no-glib -no-iconv -nomake examples -nomake tools -skip qtvirtualkeyboard -skip qtquick3d
make make isnstall 一切OK的话? 就在/home/qt14-arm目录下生成你要的东西。记住这个目录。qtcreator须要。你也可以自己填路径。
如果没有-no-opengl 会出现 The OpenGL functionality tests failed! You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL[_ES2], QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your platform.
如果没有-skip qtquick3d 会出现openglextension XXXXX. 这一步坑了我好久。对于其他更新的版本,以后什么工程报错就skip什么就完事了。网上几乎没人说。
7.完事以后进qtcreator。选项-添加配置-配置arm对应的qmake具体路径为刚才的prefix 。 然后kit里面 新建一个对应的配置就完事。新建工程就可以选arm了。新建一个sample,会看到make successful。至于运行?没有测试。
后面几步须要图的 可以去看这个bloghttps://blog.csdn.net/u012902367/article/details/87876079
我本人懒得配图。
|