一、环境:

PC操作系统:Ubuntu 18.04.6
gcc 版本:gcc-arm-linux-gnueabihf-8.3.0

二、下载软件包

1、tslib-1.21: https://github.com/libts/tslib/releases/download/1.21/tslib-1.21.tar.bz2
Tslib用于访问触摸屏设备,以防操作系统不提供驱动程序支持。 它也可能只用于优化触摸用户体验,通过应用任何数字或顺序的数学过滤器。 libts库具有高度可配置性和可移植性。 Tslib包括校准、测试和使用库的工具。 它非常适合于嵌入式设备,并在许多商业产品中使用。 Tslib包含了如何使用它的文档。(官网解释翻译)
2、alsa-lib-1.2.2: https://www.alsa-project.org/files/pub/lib/alsa-lib-1.2.2.tar.bz2
ALSA -lib包含开发人员用来编译ALSA应用程序的用户空间库。(官网解释翻译)

三、第三方库交叉编译

先把交叉编译工具的bin目录配置到环境变量。

export PATH=/opt/gcc-arm-linux-gnueabihf-8.3.0/bin/:$PATH

1、tslib-1.21

configure配置:

../configure CC=/opt/gcc-arm-linux-gnueabihf-8.3.0/bin/arm-linux-gnueabihf-gcc --prefix=/opt/tslib-1.21 --host=arm-linux-gnueabihf

注:CC一定要使用绝对路径。

2、alsa-lib-1.2.2

configure配置:

../configure CC=/opt/gcc-arm-linux-gnueabihf-8.3.0/bin/arm-linux-gnueabihf-gcc --prefix=/opt/alsa-lib-1.2.2 --host=arm-linux-gnueabihf

四、依赖库安装

   sudo apt install g++ make qt3d5-dev-tools -ysudo apt install qml-module-qtquick-xmllistmodel -ysudo apt install qml-module-qtquick-virtualkeyboard qml-module-qtquick-privatewidgets qml-module-qtquick-dialogs qml -ysudo apt install libqt53dquickscene2d5 libqt53dquickrender5 libqt53dquickinput5 libqt53dquickextras5 libqt53dquickanimation5 libqt53dquick5 -ysudo apt install qtdeclarative5-dev qml-module-qtwebengine qml-module-qtwebchannel qml-module-qtmultimedia qml-module-qtaudioengine -y

五、QT交叉编译(不带opengl)

1、修改qmake配置

(1)模板拷贝

模板路径: qt-everywhere-src-5.11.3/qtbase/mkspecs/linux-arm-gnueabi-g++
可以将**linux-arm-gnueabi-g++**目录在同级目录下复制一份,然后再修改。

(2)qmake.conf修改

路径: qt-everywhere-src-5.11.3/qtbase/mkspecs/linux-arm-gnueabi-g++_imx6/qmake.conf

#
# qmake configuration for building with arm-linux-gnueabi-g++
#MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublibinclude(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)# modifications to g++.conf
#交叉编译工具
QMAKE_CC                = /opt/gcc-arm-linux-gnueabihf-8.3.0/bin/arm-linux-gnueabihf-gcc -lts
QMAKE_CXX               = /opt/gcc-arm-linux-gnueabihf-8.3.0/bin/arm-linux-gnueabihf-g++ -lts
QMAKE_LINK              = /opt/gcc-arm-linux-gnueabihf-8.3.0/bin/arm-linux-gnueabihf-g++ -lts
QMAKE_LINK_SHLIB        = /opt/gcc-arm-linux-gnueabihf-8.3.0/bin/arm-linux-gnueabihf-g++ -lts# modifications to linux.conf
#交叉编译工具
QMAKE_AR                = /opt/gcc-arm-linux-gnueabihf-8.3.0/bin/arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY           = /opt/gcc-arm-linux-gnueabihf-8.3.0/bin/arm-linux-gnueabihf-objcopy
QMAKE_NM                = /opt/gcc-arm-linux-gnueabihf-8.3.0/bin/arm-linux-gnueabihf-nm -P
QMAKE_STRIP             = /opt/gcc-arm-linux-gnueabihf-8.3.0/bin/arm-linux-gnueabihf-strip
load(qt_config)#tslib路径(交叉编译库)
QMAKE_INCDIR=/opt/tslib-1.21/include
QMAKE_LIBDIR=/opt/tslib-1.21/lib

2、configure配置脚本文件

#!/bin/sh
../configure \
-prefix /opt/qt-5.11.3_imx6_noopengl \
-xplatform linux-arm-gnueabi-g++_imx6 \
-release \
-opensource \
-confirm-license \
-no-openssl \
-no-opengl \
-no-xcb \
-no-eglfs \
-no-compile-examples \
-no-pkg-config \
-skip qtsensors \
-skip qtdoc \
-skip qtwayland \
-skip qt3d \
-skip qtcanvas3d \
-skip qtpurchasing \
-skip qtdeclarative \
-no-iconv \
-no-glib \
-tslib \
-I/opt/tslib-1.21/include \
-L/opt/tslib-1.21/lib \
-alsa \
-I/opt/alsa-lib-1.2.2/include \
-L/opt/alsa-lib-1.2.2/lib \

说明:

  • -xplatform:指向上一步mkspecs目录下拷贝出来的文件夹名
  • -tslib:启用tslib,并指向已经交叉编译出来的库和头文件目录
  • -alsa:启用alsa,并指向已经交叉编译出来的库和头文件目录

3、编译、安装

make
make install

4、编译结果

交叉编译qt5.11.3源码(不带opengl)相关推荐

  1. 在龙芯3a5000处理器上进行qt-5.11.3源码编译流程与遇到的问题

    1.环境说明 处理器:Loongson-3A5000M 统信桌面操作系统 Linux 注意网上很多帖写的都是适用于龙芯3a4000的,龙芯3a4000指令集是mips,龙芯3a5000指令集为Loon ...

  2. ubuntu下qnx7.0交叉编译qt5.9.7源码

    在CSDN上查阅了大部分qnx7.0平台编译qt源码的博客,都没有详细给出具体过程和报错处理方式,导致博主在编译时遇到诸多问题,耗时两周才成功编译qnx下aarch64架构版本的qt库,尝试过诸多版本 ...

  3. 舔狗日记-土味情话-每日一言三合一小程序源码下载带安装教程

    舔狗日记-土味情话-每日一言三合一小程序源码下载带安装教程 支持扩展更多小程序 1.去微信公众平台申请小程序并填好资料(https://mp.weixin.qq.com) 2.下载微信开发者工具 3. ...

  4. 1000套微信小程序源码源代码带后台带运行截图预览图学习资料网盘下载

    1000多套微信小程序源码带后台+教程+不同行业的源码集合 o2o行业 | - 盒马鲜生 | - 轻客洗衣 互联网行业 | - 云文档 | - 仿ofo共享单车 | - 仿美团外卖 | - 仿饿了么 ...

  5. 一套开源免费的OA办公管理系统源码,带小程序、生成APP

    大型高端OA源码(带APP 微信小程序) OA办公管理系统源码带小程序.生成APP.基于微软Asp.net 4.0,SQL Server 2008为基础,兼容高级版本的开源办公系统.采用国际领先的响应 ...

  6. 如何在线查看Android源码自带学习文档

          如何在线查看Android源码自带学习文档docs Android源码编译系列博客: Android.bp你真的了解吗 Android.bp入门指南之Android.mk转换成Androi ...

  7. 原生仿微信社交社区即时通讯聊天双端APP源码开源带PC客户端文档说明

    简介: 原生仿微信社交社区即时通讯聊天双端APP源码开源带PC客户端文档说明 5438亲测完美搭建 网盘下载地址: http://kekewangLuo.net/uiBBnJ8xQup0 图片:

  8. 爱看小说手机网源码全站带3w数据带采集,ThinkPHP内核小说网站源码带听书等全部插件

    源码介绍 会员分享的一款自带2w数据爱看小说网源码全站带数据打包,ThinkPHP内核小说网站源码带听书等全部插件 还带了采集规则,采集是没问题的但是不保证时效,早下载早采集!! 喜欢的拿去研究学习吧 ...

  9. 适合货架、机械、零件等实体产品公司的成品网站源码,带数据完整版本

    源码简介 一个非常完整的成品网站代码,ui设计还不错.源码完整可用,测试过了. 适合货架.机械.零件.金属制品生产加工等实体产品公司使用的网站源码,带数据完整版本. 源码是asp开发的,数据库是acc ...

最新文章

  1. 摄像头模组(CCM)与镀膜
  2. CRUD-员工列表 大体流程
  3. 堆排序分析(大根堆为例,由小到大排序)
  4. javaweb学习总结(十八)——JSP属性范围
  5. Android高版本开机广播,android3.1以上,假如程序没有启动过,怎么获取开机广播呢?...
  6. 史上最全的 MySQL 高性能优化实战总结
  7. mysql native数据同步_记一次MySQL(5.7版本)数据库的主从同步和备份
  8. FastDFS 入门简介
  9. python no module named pandas_【原创】大叔经验分享(11)python引入模块报错ImportError: No module named pandas numpy...
  10. 智能语音识别究竟是如何实现的?
  11. python批量更改图片尺寸(保持长度和高度的长短关系)
  12. 【Java从零到架构师第③季】【41】SpringBoot-配置文件_YAML_lombok_设置Banner
  13. IT 如何把骨干留住
  14. IOS安全测试学习-DVIA-v2
  15. 6.26CF模拟赛D:黑白条题题解
  16. SQL Server 2016 [修改数据库名称]及[添加次文件和日志文件]
  17. 纠删码在实时视频流中的应用丨Dev for Dev 专栏
  18. 怎么选择合适的PLM系统
  19. 多核计算机是指有多个cpu,多核和多个CPU有什么区别?
  20. python读取身份证照片信息_20行代码教你用Python改变身份证照片的背景色,python,给,证件照,换,底色...

热门文章

  1. 功能强大、多合一,Java性能调优VisualVM多合一工具
  2. 实现运动目标检测(opencv3)(一)
  3. 【软件安全】API HOOK
  4. 抖音小程序配置webview域名
  5. C#使用ODBC链接MySQL数据库
  6. ARP病毒的分析与防治
  7. 常州SEO姜东:tiktok(国际抖音)运营教程:打造高权重账号
  8. 抖音前端团队国际化是怎么做的?
  9. Mysql 5.7 表名大写遇到的坑 error: 1146: Table 'your_table' doesn't exist
  10. 归并排序(C语言实现)