QT5.12环境搭建与源码编译

2024-04-17 09:38

本文主要是介绍QT5.12环境搭建与源码编译,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

QT5.12环境搭建与源码编译

一、概述

  • QT版本:QT5.12.10
    Qt网址:http://download.qt.io/archive/qt/
  • 编译平台 ubuntu
  • 使用平台龙芯LS2K1000、龙芯派

二、安装交叉编译工具链

1、获取交叉编译工具链

交叉工具链:gcc-4.9.3-64-gnu.tar.gz

2、安装交叉工具链

 tar zxvf gcc-4.9.3-64-gnu.tar.gz  -C  /

命令执行后,在系统 /opt 目录下会有:gcc-4.9.3-64-gnu

三、QT5.12.10 源码编译

1、获取QT5.12.10源码

源码: qt-opensource-linux-x64-5.12.10.run

2、解压QT5.12.10源码

tar xvf qt-everywhere-src-5.12.10.tar.xz

3、创建编译脚本

在Qt源码目录里:

vim run.sh

run.sh里内容如下:

#!/bin/sh
export PATH=/opt/gcc-4.9.3-64-gnu/bin:$PATH
./configure -prefix /opt/Qt5.12.10-mips \
-static \
-release \
-opensource \
-make libs \
-xplatform linux-mips-g++ \
-optimized-qmake \
-pch \
-qt-libjpeg \
-qt-zlib \
-no-opengl \
-skip qt3d \
-skip qtcanvas3d \
-skip qtpurchasing \
-no-sse2 \
-no-sse3 \
-no-ssse3  \
-no-sse4.1 \
-no-sse4.2  \
-no-avx \
-no-avx2 \
-no-mips_dsp \
-no-mips_dspr2 \
-qt-zlib \
-no-openssl \
-no-xcb 	\
-no-cups \
-no-iconv \
-no-evdev  \
-no-icu  \
-no-fontconfig \
-nomake examples \
-nomake tools \
-skip qtvirtualkeyboard \
-qpa linuxfb	\
-no-opengl \
-no-libinput \
-no-gstreamer \
-no-system-proxies \
-no-slog2  \
-no-lgmon \
-linuxfb \
-v \
-qt-libjpeg \
-qt-libpng 	\
-no-libproxy \
-no-dbus	\
-no-glib	\
-no-compile-examples \

run.sh

4、添加龙芯平台的qmake.conf

因为当前QT5.12.10源码里没有mips架构的qmake,所以修要手动添加。
QT5.12.10源码目录下
命令1: mkdir qtbase/mkspecs/linux-mips-g++
命令2: cp qtbase/mkspecs/linux-arm-gnueabi-g++/* qtbase/mkspecs/linux-mips-g++

修改qmake.conf文件:

vim qtbase/mkspecs/linux-mips-g++/qmake.conf

修改成如下内容:
qmake.conf

5、开始编译

命令1: ./run.sh 备注:配置时会提示Do you accept the terms of either license? 选择 y 即可
命令2: make
命令3: make install

make 时间会比较长,需要耐心等待。
make install 后,会生成一个目录,在/opt/Qt5.12.10-mips

如果编译没有出错,成功生成Qt5.12.10-mips,至此Qt源码编译完成。Qt5.12.10-mips会在下边qtcreator配置时会用到。

四、 qtcreator安装

1、获取安装文件

安装文件:qt-opensource-linux-x64-5.12.10.run

2、开始安装

运行
点击“下一步”
在这里插入图片描述
在这里插入图片描述
点击“下一步” 安装完成。

到安装目录下打开qtcreator
在这里插入图片描述
在这里插入图片描述

五、 qtcreator配置交叉编译环境

配置交叉编译环境会用到Qt5.12.10-mips
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述点击“Apply”
在这里插入图片描述
点击“Apply”
在这里插入图片描述
在这里插入图片描述
点击“Apply”

至此 qtcreator交叉编译环境配置完成。

六、 创建Qt工程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
至此可以看到添加的kits
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

从主界面也能看到龙芯平台的kits

1、ctrl + b 编译

编译成功后,到项目目录下,可以找到龙芯平台上可执行文件123
在这里插入图片描述
将可执行文件123拷贝到龙芯派板卡上,即可运行!

将龙芯派启动到系统下执行如下命令:

2、运行程序 ./123 -platform linuxfb

备注:
QT4
Qt4的程序在嵌入式Linux运行时,需要加入参数“-qws”启动Qt窗口系统服务,如“./app -qws”运行app程序

QT5
从Qt5.0开始,Qt自身不再单独实现窗口系统,QWS不复存在,取而代之的新机制是QPA(Qt平台抽象),QPA使得Qt对不同平台的支持变得更加灵活,当需要支持一个新平台时,只需为该平台编写一个QPA插件

Qt5运行时需要通过“-platform”来制定QPA插件,如果不指定就默认使用QPA插件,在QT_QPA_PLATFORM变量制定,比如:

./app -platform eglfs

./app -platform linuxfb

这篇关于QT5.12环境搭建与源码编译的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/911449

相关文章

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮

Android实现定时任务的几种方式汇总(附源码)

《Android实现定时任务的几种方式汇总(附源码)》在Android应用中,定时任务(ScheduledTask)的需求几乎无处不在:从定时刷新数据、定时备份、定时推送通知,到夜间静默下载、循环执行... 目录一、项目介绍1. 背景与意义二、相关基础知识与系统约束三、方案一:Handler.postDel

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Java 正则表达式URL 匹配与源码全解析

《Java正则表达式URL匹配与源码全解析》在Web应用开发中,我们经常需要对URL进行格式验证,今天我们结合Java的Pattern和Matcher类,深入理解正则表达式在实际应用中... 目录1.正则表达式分解:2. 添加域名匹配 (2)3. 添加路径和查询参数匹配 (3) 4. 最终优化版本5.设计思

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col