Qt5静态编译_arm交叉编译

Qt5静态编译_arm交叉编译

Linux平台

1.下载Qt源码

推荐下载5.13版本,在编译5.15版本时出现了各种问题,可能是我没配置好。

5.13版本源码(清华镜像源):https://mirrors.tuna.tsinghua.edu.cn/qt/development_releases/qt/5.13/5.13.0-rc/single/qt-everywhere-src-5.13.0-rc.tar.xz

2.配置交叉编译器

解压源码,进入源码的 qtbase/mkspecs/linux-arm-gnueabi-g++ 目录,编辑里面的 qmake.conf 文件

将文件里的 **arm-linux-gnueabi-**改为你用的交叉编译器,如 arm-linux-gnueabihf- ,并设置好 PATH 变量,我的设置如下

export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
export PATH=$PATH:/home/mortal/data/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin
3.静态编译并安装
配置

在源码目录执行如下命令:

./configure -v -prefix /home/mortal/Qt_5_arm -static -release -opensource -confirm-license -xplatform linux-arm-gnueabi-g++ -no-accessibility -no-dbus -no-openssl -no-opengl -no-glib -no-iconv -no-xcb -no-pch -no-compile-examples -no-pkg-config -skip qtquickcontrols -skip qtquickcontrols2 -skip qtsensors -skip qtdoc -skip qtwayland

  • -release:编译release版本
  • -prefix:指定安装目录,注意修改,安装后qmake程序默认就会根据这个目录路径去搜索头文件和库文件
  • -static:指定为静态编译
  • -xplatform:linux-arm-gnueabi-g++是说明目标平台是arm
  • 其它参数根据自己的情况自行修改,各参数的含义可以用./configure --help命令查看
编译

make -j4

编译期间根据提示安装依赖。

安装

make install

经过上面三步,就在 prefix 指定的目录下生成的QT的编译环境,该环境的bin目录下有qmake程序。

4.配置Qt Creator

启动运行Qt Creator,菜单工具(Tools)->选项(options),打开设置对话框,切换到构建与运行(build and run)项。先添加交叉编译器,点击添加,找到交叉编译器路径,取个名称,如下图添加g++。添加gcc与g++类似。
compilers
设置Qt版本,点击添加,找到Qt库安装目录bin里的qmake.exe,取个名后添加,如下图
version
最后整合整套工具,设置构建套件,如下图,点击添加,取个名称,选择之前设置好的交叉编译器和Qt版本,点击Apply。
kits
选择对应的套件后,可以编译ARM linux上的Qt程序,注意选择release。
在这里插入图片描述

5.编译示例

在.pro工程文件里添加一行:QTPLUGIN += qlinuxfb
在这里插入图片描述
用命令文件名 -platform linuxfb运行
若出现字体问题,可下载文泉驿微米黑字体:
https://nchc.dl.sourceforge.net/project/wqy/wqy-microhei/0.2.0-beta/wqy-microhei-0.2.0-beta.tar.gz
解压后,将其中的 wqy-microhei.ttc上传至开发板 /usr/lib/fonts 目录即可。

  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值