上一篇:《Hi3516开发笔记(六):通过HiTools使用USB/串口将uboot、kernel、rootfs和userdata按照分区表烧写镜像
下一篇:《Hi3516开发笔记(八):Hi3516虚拟机交叉开发环境搭建之配置QtCreator开发交叉编译环境》敬请期待…

 

前言

  前面搭建好了基础的交叉编译环境,但是我们使用到的主要是qt,所以要交叉编译qt,本篇交叉编译qt并安装ubuntu版本的qt,与紧接着本篇的后一篇紧密相关。

 

获取Qt源码

  《获取下载Qt安装包,Qt源码全国网址备忘录(可不用注册,即可下载各版本Qt安装包和Qt源码包)
  下载Qt5.12.7版本如下图:
  
  (建议,同时下载该版本的ubuntu安装包,包含了qtcreator和mingw32的编译器,这样可以在ubuntu上可以先跑部分与arm无关的代码)

 

前提

 

交叉编译

步骤一:复制解压

  

步骤二:配置交叉编译器

  先检查交叉编译器,如下图:
  

步骤三:修改平台文件

cd /home/yang/work/src/qt-everywhere-src-5.12.7/qtbase/mkspecs/linux-arm-gnueabi-g++
gedit qmake.conf

  
  选择的是linux-arm-gnueabi-g++平台,修改器配置文件的编译器如下:

#
# qmake configuration for building with arm-linux-gnueabi-g++
# MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf) # modifications to g++.conf
#QMAKE_CC = arm-linux-gnueabi-gcc
#QMAKE_CXX = arm-linux-gnueabi-g++
#QMAKE_LINK = arm-linux-gnueabi-g++
#QMAKE_LINK_SHLIB = arm-linux-gnueabi-g++
QMAKE_CC = arm-himix200-linux-gcc
QMAKE_CXX = arm-himix200-linux-g++
QMAKE_LINK = arm-himix200-linux-g++
QMAKE_LINK_SHLIB = arm-himix200-linux-g++ # modifications to linux.conf
#QMAKE_AR = arm-linux-gnueabi-ar cqs
#QMAKE_OBJCOPY = arm-linux-gnueabi-objcopy
#QMAKE_NM = arm-linux-gnueabi-nm -P
#QMAKE_STRIP = arm-linux-gnueabi-strip
QMAKE_AR = arm-himix200-linux-ar cqs
QMAKE_OBJCOPY = arm-himix200-linux-objcopy
QMAKE_NM = arm-himix200-linux-nm -P
QMAKE_STRIP = arm-himix200-linux-strip
load(qt_config)

步骤四:配置qt源码configure

./configure -prefix /home/yang/work/rootfs \
-opensource -confirm-license -release \
-linuxfb -qt-zlib -no-gif -qt-libpng \
-qt-libjpeg -qt-freetype -no-rpath -no-pch \
-no-avx -no-openssl -no-cups -no-dbus -no-eglfs \
-no-pkg-config -no-glib -no-iconv -no-opengl \
-xplatform linux-arm-gnueabi-g++ -make libs \
-nomake tools -qt-sqlite -nomake tests -v \
-skip qtgamepad \
-skip qtandroidextras \
-skip qtmacextras \
-skip qtx11extras \
-skip qtsensors \
-skip qtserialbus \
-skip qtwebchannel \
-skip qtwebsockets \
-skip qtlocation \
-skip qtquickcontrols \
-skip qtpurchasing \
-skip qtconnectivity \
-skip qtscxml \
-skip qtxmlpatterns \
-skip qtnetworkauth \
-skip qtspeech \
-skip qtscript \
-skip qtremoteobjects \
-skip qtcharts \
-skip qtdatavis3d \
-skip qtwebview

  如下:
  

步骤五:编译make

make -j8

  (注意:先是g++编译生成对应的qmake,后是arm-himix200-linux-g++编译生成对应的qt库)
  
  出现“python: command not found”编译错误,如下:
  
  安装pathon(python3的命令是:python3,此处是python),所及即便是已经安装了python3也需要安装python,当然也可以建立软连接python指向python3,笔者选择安装:

sudo apt-get install python

  然后继续编译:

make -j8

  非常漫长的额等待,都出去吃了个饭了…
  

步骤六:安装Qt

make install

  

步骤七:检查Qt

  

 

安装Qt5.12.17的ubuntu版本

步骤一:复制

  

步骤二:安装Qt

  
  
  (PS:注意断网,不然需要登录qt账号)
  
  
  
  
  整理一下/home下的东西,继续安装:
  

  

  

  

步骤三:新建一个Qt程序,运行“Hello world!!!”

  
  

  出现老问题:
  

  参照博文:《关于 编译QT项目时报错: error: cannot find -lGL 的解决方法》解决后,继续编译。
  

步骤四:宿主机运行“Hello world!!!”

  添加个QLabel,写上你第一次接触编程的“Hello world!!!”,如下图:
  

 

上一篇:《Hi3516开发笔记(六):通过HiTools使用USB/串口将uboot、kernel、rootfs和userdata按照分区表烧写镜像
下一篇:《Hi3516开发笔记(八):Hi3516虚拟机交叉开发环境搭建之配置QtCreator开发交叉编译环境》敬请期待…

 

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121706290

发文助手
发文助手会对标题提出优化建议,避免出现不恰当文字从而影响文章推荐。【标题规范】

Hi3516开发笔记(七):Hi3516虚拟机交叉开发环境搭建之交叉编译Qt的更多相关文章

  1. 【Cocos2d-X开发笔记】第一期 Cocos2d-X的环境搭建

          作者今天开始正式开始学习Cocos2d-X引擎进行游戏编程,预计两天会更新一期,最后实现ios游戏的appsore上线. (部分内容转载自:http://blog.csdn.net/yan ...

  2. Yocto开发笔记之《快速入门,环境搭建 & 编译》(QQ交流群:519230208)

    开了一个交流群,欢迎爱好者和开发者一起交流,转载请注明出处. QQ群:,为避免广告骚扰,申请时请注明 “开发者” 字样 ======================================== ...

  3. Hi3516开发笔记(三):Hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析

    前言   前面进行了可以传输,那么写一个简单的C程序来交叉编译并传入运行.   虚拟机   上一篇搭建的虚拟机环境,包含了sftp传递文件,网络能ping通,基于上一篇的虚拟机继续搭建.   海思交叉 ...

  4. Solon 开发,七、自定义注解开发汇总

    Solon 开发 一.注入或手动获取配置 二.注入或手动获取Bean 三.构建一个Bean的三种方式 四.Bean 扫描的三种方式 五.切面与环绕拦截 六.提取Bean的函数进行定制开发 七.自定义注 ...

  5. Bytom Dapp 开发笔记(二):开发流程

    简介 这章的内容详细分析一下涉及智能合约Dapp的整个开发流程,注意是涉及只能合约,如果你只要一些基本转BTM功能没有太大意义,本内容补充一下官方提供的 比原链DAPP开发流程,详细实践过好踩到的一些 ...

  6. 跟我一起,利用bitcms内容管理系统从0到1学习小程序开发:一、IIS下SSL环境搭建

    缘起 1.从事互联网十来年了,一直想把自己的从事开发过程遇到的问题给写出来,分享给大家.可是可是这只是个种想法,想想之后就放下了,写出来的类文章是少之又少.古人说无志之人常立志,有志之人立长志.今天, ...

  7. [游戏开发日志]Windows下Cocos2d-x 3.14环境搭建

    总介绍 我们小组使用的是cocos2d-x的游戏开发引擎,因此在所有开发工作之前,我们需要对这个引擎进行环境的搭建. 搭建过程 VS2013的下载和安装 VS只是作为一个开发环境而已,简单来说就是敲代 ...

  8. Ionic-wechat项目边开发边学(一):环境搭建和创建一个项目

    之前学AngularJS,教程过了一遍觉得很简单,但真正写几个Demo就错误百出,一个小小的功能要折腾很久.所以这次学Ionic,准备以开发一个项目为切入点去学,那么问题来了,开发什么项目呢? 纠结了 ...

  9. 【开发板试用报告】鸿蒙OS环境搭建及代码烧录

    鸿蒙系统的代码编译环境需要linux系统,软件开发和代码烧录需要windows环境. Linux环境 参考官方链接:https://gitee.com/openharmony/docs/blob/ma ...

  10. Python学习笔记 (1)Hello World(环境搭建+输出Hello World!)

    随想 高考发挥失常.科三遇火车发挥失常,各种不顺……突然发现假期都快没了,才想起高考前想象的这个假期要做的一堆事,现在来多完成一件吧. 这几篇博客仅只是我的学习笔记,凑合看吧.我这个python小白看 ...

随机推荐

  1. [转帖]Linux下AWK、SED、GREP、FIND命令详解

    https://www.jianshu.com/p/d54e0359db01 AWK AWK是一个优良的文本处理工具,Linux和Unix环境中现有的功能最强大的数据处理引擎之一. 语法 awk [选 ...

  2. [转帖]【杂学第十二篇】oracledb_exporter监听oracle19c数据库出现libclntsh、ORA-12162、ORA-00942异常解决

    http://www.taodudu.cc/news/show-4845374.html docker run -d --name oracledb_exporter --restart=always ...

  3. Nginx的Keepalive的简单学习

    摘要 最近发现某项目的Nginx负载服务器上面有很多Time_wait的TCP连接 可以使用命令 netstat -n |awk '/^tcp/ {++S[$NF]} END{for (a in S) ...

  4. MySQL批量执行SQL修改视图属主的办法

    前人挖坑 后人填坑 Study From https://blog.csdn.net/carefree2005/article/details/109812943 第一步: 形成SQL select ...

  5. 基于华为fusionstorage的块存储CSI

    承接上文,块存储的CSI要比对象存储复杂一些,但总的处理逻辑还是一致的.下面以华为fusionstorage的CSI为例进行介绍,该插件支持了多个后端存储,如fusionstorage和oceanst ...

  6. MySQL查询语句(1)

    连接数据库 mysql -hlocalhost -uroot -proot DQL-介绍 DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据库中表的记录 ...

  7. js获取字符串最后几位字符数

    截取字符串 为什要截取字符串呢??? 因为有些时候,我们需要判断某一个字符串中是不是,含有特定的字符 substring(a)从起始位置开始(包含a这个位置),一直到字符串的末尾(截取字符串最后6个) ...

  8. CentOS使用iptables开放3000端口

    关闭firewall systemctl stop firewalld.service 禁止firewall开机启动 systemctl disable firewalld.service 设置ipt ...

  9. 【5】OpenCV2.4.9实现图像拼接与融合方法【SURF、SIFT、ORB、FAST、Harris角点 、stitch 】

    相关文章: [1]windows下安装OpenCV(4.3)+VS2017安装+opencv_contrib4.3.0配置 [2]Visual Studio 2017同时配置OpenCV2.4 以及O ...

  10. hydra 密码爆破工具入门

    Hydra(九头蛇海德拉)是希腊神话之中的一个怪兽,以九个头闻名于世,在Kali中hydray(hai der rua) 是默认被安装的,该工具是密码破解的老司机,可以破解各种登录密码,非常怪兽,但是 ...