hi3516开发笔记:hi3516虚拟机交叉开发环境搭建之交叉编译qt(代码片段)

长沙红胖子 长沙红胖子     2023-02-21     417

关键词:

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121706290
红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…

海思开发专栏

上一篇:《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无关的代码)


前提

  交叉编译需要先配好交叉编译器,可参照《Hi3516开发笔记(三):Hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析》。


交叉编译

步骤一:复制解压

  

步骤二:配置交叉编译器

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

步骤三:修改平台文件

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(代码片段)

...6,WX:yangsir198808红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…海思开发专栏上一篇:《Hi3516开发笔记(... 查看详情

hi3516开发笔记:hi3516虚拟机交叉开发环境搭建之配置qtcreator开发交叉编译环境

...6,WX:yangsir198808红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…海思开发专栏上一篇:《Hi3516开发笔记(... 查看详情

hi3516开发笔记:hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析(代码片段)

...dn.net/article/details/121458516红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…海思开发专栏上一篇:《Hi3516开发笔记(... 查看详情

hi3516开发笔记:hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析(代码片段)

...6,WX:yangsir198808红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…海思开发专栏上一篇:《Hi3516开发笔记(... 查看详情

hi3516开发笔记:hi3516虚拟机基础环境搭建之串口调试网络连接以及sftp文件传输(代码片段)

...dn.net/article/details/121314575红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…海思开发专栏上一篇:《Hi3516开发笔记(... 查看详情

hi3516开发笔记:hi3516虚拟机编译ubootkernelroofts和userdata以及分区表(代码片段)

...dn.net/article/details/121572767红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…海思开发专栏上一篇:《Hi3516开发笔记(... 查看详情

hi3516开发笔记:hi3516虚拟机编译ubootkernelroofts和userdata以及分区表(代码片段)

...6,WX:yangsir198808红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…海思开发专栏上一篇:《Hi3516开发笔记(... 查看详情

hi3516开发笔记:海思hi3516dv300芯片介绍,入手开发板以及demo测试

...xff0c;Shang业Ding制Zi询博主红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…海思开发专栏上一篇:没有了下一篇:《Hi... 查看详情

hi3516开发笔记:通过hitools使用usb/串口将ubootkernelrootfs和userdata按照分区表烧写镜像

...dn.net/article/details/121706033红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…海思开发专栏上一篇:《Hi3516开发笔记(... 查看详情

hi3516开发笔记:通过hitools使用usb/串口将ubootkernelrootfs和userdata按照分区表烧写镜像

...6,WX:yangsir198808红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…海思开发专栏上一篇:《Hi3516开发笔记(... 查看详情

hi3516a开发--接触(转)

Hi3516A开发--接触      查看详情

hi3516开发笔记:在qtcreator开发环境中引入海思sdk的bsp包,运行显示qt界面(代码片段)

...dn.net/article/details/121706743红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…海思开发专栏上一篇:《Hi3516开发笔记(... 查看详情

hi3516开发笔记:在qtcreator开发环境中引入海思sdk的bsp包,运行显示qt界面(代码片段)

...dn.net/article/details/121706743红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…海思开发专栏上一篇:《Hi3516开发笔记(... 查看详情

hi3516开发笔记:qt从vpss中获取通道图像数据存储为jpg文件(代码片段)

前言  上一篇已经将himpp套入qt的基础上进行开发。那么qt中拿到frame则是很关键的交互,这是qt与海思可能编解码交叉开发的关键步骤。<br>受限制  因为直接配置sample的vi比较麻烦,确实是困难的,其实就是配... 查看详情

hi3516开发笔记:通过hitools使用网口将ubootkernelroofts和userdata按照分区表烧写镜像

...dn.net/article/details/121602001红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…海思开发专栏上一篇:《Hi3516开发笔记(... 查看详情

hi3516开发笔记:通过hitools使用网口将ubootkernelroofts和userdata按照分区表烧写镜像

...dn.net/article/details/121602001红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…海思开发专栏上一篇:《Hi3516开发笔记(... 查看详情

hi3516开发笔记:通过hitools使用网口将ubootkernelroofts烧写进emmc

...dn.net/article/details/128425000红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…海思开发专栏上 查看详情

hi3516开发笔记:通过hitools使用网口将ubootkernelroofts烧写进emmc

...dn.net/article/details/128425000红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…海思开发专栏上 查看详情