当前位置: 首页 > news >正文

Qt5.12.0 交叉编译搭建

一、环境

ubuntu版本:16.04

qt版本5.12

arm开发板:全志H5,RK3399

说明:在ubuntu下进行编译,将编译好的so,拷贝到arm下

二、步骤

  1.获取QT源码,以及arm64位的交叉编译器

wget http://download.qt.io/archive/qt/5.12/5.12.0/single/qt-everywhere-src-5.12.0.tar.xz

    交叉编译器:

    链接:https://pan.baidu.com/s/11mpoZZJQtrzw9LlgT4Qt0g 

    提取码:otrc 

 

  2.解压以及配置

    将QT源码以及交叉编译器 解压,在QT源码里修改 qtbase/mkspecs/linux-aarch64-gnu-g++/qmake.conf 文件

QMAKE_CC                = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc 
QMAKE_CXX               = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
QMAKE_LINK              = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
QMAKE_LINK_SHLIB        = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
# modifications to linux.conf
QMAKE_AR                = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-ar cqs
QMAKE_OBJCOPY           = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-objcopy
QMAKE_NM                = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-nm -P
QMAKE_STRIP             = /opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-strip

    回到qt-everywhere-src-5.12.0目录,继续配置,输入以下命令

./configure -recheck-all -release -extprefix /opt/aarch64_qt5.12.0 -xplatform linux-aarch64-gnu-g++ -no-opengl -no-openssl -nomake tests -no-compile-examples -nomake examples -gif -ico -qt-libpng -qt-libjpeg -qt-sqlite

    会弹出提示,输入o回车再输入y

  3.编译

make -j32 2>&1 | tee build.log

  4.安装

sudo make install

        5.测试

   将生成的/opt/aarch64_qt5.12.0 目录拷贝到arm开发板上,并修改环境变量;将编译出来qmake配置到ubuntu上的qt creator上,能编译出arm格式的可执行文件。

   将可执行文件拷贝到arm下执行

  

ok以上操作都很顺利的完成

 

转载于:https://www.cnblogs.com/releases/p/10218342.html

相关文章:

  • 利用WPF建立自己的3d gis软件(非axhost方式)(十一)SDK中的动画系统
  • Docker技术入门与实战 第二版-学习笔记-3-Dockerfile 指令详解
  • 程序员的年终总结,让你欢喜让你忧……
  • 10分钟看懂, Java NIO 底层原理
  • Android Classloader机制
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (原創) 物件導向與老子思想 (OO)
  • 到底什么是RBD?
  • 前几张一些总结
  • Windows Azure Web Site (16) Azure Web Site HTTPS
  • [程序员学英语]英语国际音标
  • C# vs C++之三:静态构造函数
  • Salesforce中所有常用类型字段的取值与赋值
  • 利用arcgis发布综合又详细的地理定位服务
  • SQL Server 6.5 如何升级到SQL Server 2000—以前原创(二)
  • 03Go 类型总结
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • axios 和 cookie 的那些事
  • ES6之路之模块详解
  • FineReport中如何实现自动滚屏效果
  • Mocha测试初探
  • nginx 配置多 域名 + 多 https
  • Spring Cloud中负载均衡器概览
  • Vim 折腾记
  • vue:响应原理
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • vue数据传递--我有特殊的实现技巧
  • 翻译--Thinking in React
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 基于web的全景—— Pannellum小试
  • 简单实现一个textarea自适应高度
  • 每天一个设计模式之命令模式
  • 算法---两个栈实现一个队列
  • 一些css基础学习笔记
  • 以太坊客户端Geth命令参数详解
  • 原生js练习题---第五课
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (Python) SOAP Web Service (HTTP POST)
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (七)Knockout 创建自定义绑定
  • (四) Graphivz 颜色选择
  • *1 计算机基础和操作系统基础及几大协议
  • *Django中的Ajax 纯js的书写样式1
  • .NET Core 项目指定SDK版本
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .NET导入Excel数据
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • .pyc文件是什么?
  • // an array of int
  • [ C++ ] STL_vector -- 迭代器失效问题
  • [ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149
  • [2019/05/17]解决springboot测试List接口时JSON传参异常
  • [202209]mysql8.0 双主集群搭建 亲测可用