Qt编译arm linux版本-qt everywhere 5.14.0

本教程仅适用于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

我本人懒得配图。

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Qt是一种广泛使用的跨平台应用程序框架。本文将介绍如何在Ubuntu 18.04上交叉编译Qt 5.12.7的详细教程。 第一步是安装必要的依赖项。打开终端并输入以下命令: sudo apt-get update sudo apt-get install build-essential perl python git p7zip-full 接下来,你需要安装交叉编译工具链。在此示例中,我们将以ARM Cortex-A7为目标平台。 sudo apt-get install g++-arm-linux-gnueabihf libc6-armhf-cross-armel-cross binutils-arm-linux-gnueabihf 然后,创建一个新的目录并切换到该目录中,然后从Qt官方网站上下载最新的Qt源代码: mkdir qt-cross-compile && cd qt-cross-compile wget https://download.qt.io/archive/qt/5.12/5.12.7/single/qt-everywhere-src-5.12.7.tar.xz tar xvf qt-everywhere-src-5.12.7.tar.xz 接下来,创建一个称为“qt5-armhf.conf”的新文件,需要根据目标平台进行相应的更改: cd qt-everywhere-src-5.12.7/qtbase/mkspecs cp -r linux-arm-gnueabi-g++/ qt5-armhf cd qt5-armhf vi qmake.conf 确保以下行已正确配置: 将“QMAKE_CFLAGS”和“QMAKE_CXXFLAGS”修改为: QMAKE_CFLAGS = -march=armv7-a -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard --sysroot=/usr/arm-linux-gnueabihf/ QMAKE_CXXFLAGS = $$QMAKE_CFLAGS 对于“QMAKE_LINK”和“QMAKE_LINK_SHLIB”,添加以下行: QMAKE_LINK = arm-linux-gnueabihf-g++ QMAKE_LINK_SHLIB = $$QMAKE_LINK 接下来,进入Qt源代码目录并构建一个交叉编译版本: cd ../../.. ./configure -prefix /opt/qt5-armhf -static -opensource -confirm-license -release -skip webengine -skip wayland -skip qtgamepad make -j4 接下来,安装Qt到目标目录: sudo make install 完成后,你可以在目标文件夹/opt/qt5-armhf找到已安装的Qt库。现在你可以使用Qt Creator或手动创建项目并在Ubuntu 18.04中进行交叉编译

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值