在龙芯平台源码安装Qt5.15
在龙芯平台源码安装Qt5.15
本来自带的是Qt9,但是因为想要编译某软件,要求Qt>11,龙芯的支持又比较少,所以就自行源码编译。
操作环境
依赖安装
由于是龙芯平台,虽然大多数依赖是能找到的,可能还会有一些漏网之鱼,所以就不一一列举了,按照这个文档挨个装就好了:
添加设备支持
正常来说,不做任何修改就编译是会报错的,大概是"qtbase_src_make faild
",具体我就不找了,原因就是没有对设备进行支持。
好在Qt已经提供了两款mips
的板卡支持,如下图红框下两个,所以只需要复制一份,然后改改配置就能用了。
可以看到我添加的板卡支持是:linux-mips64el-4000-g++
修改其中qmake.conf
的配置,可以参考我的修改
#
# qmake configuration for linux-mipsel-broadcom-97425-g++
#MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublibinclude(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)load(device_config)# 注释掉这一部分,检查-device-option后的内容,对新添加的板卡没啥用,反正也不知道新版卡会报啥错
#defineTest(qtConfSanitizeMkspec) {
# isEmpty(B_REFSW_DEBUG): \
# error("B_REFSW_DEBUG needs to be set via -device-option B_REFSW_DEBUG=(y|n)")
# isEmpty(BRCM_ROCKFORD_PATH): \
# error("BRCM_ROCKFORD_PATH needs to be set via -device-option BRCM_ROCKFORD_PATH=<path>")
# isEmpty(BRCM_APPLIBS_PATH): \
# error("BRCM_APPLIBS_PATH needs to be set via -device-option BRCM_APPLIBS_PATH=<path>")
# deviceSanityCheckCompiler()
#}# 修改下面编译器的配置,如果是升级了gcc7,应该很容易理解下面的路径
# Modify the defaults we loaded above
CROSS_COMPILE = /opt/rh/devtoolset-7/root/usr/bin/
QMAKE_CC = /opt/rh/devtoolset-7/root/usr/bin/mips64el-redhat-linux-gcc
QMAKE_CXX = /opt/rh/devtoolset-7/root/usr/bin/mips64el-redhat-linux-g++
QMAKE_LINK = /opt/rh/devtoolset-7/root/usr/bin/mips64el-redhat-linux-g++
QMAKE_LINK_SHLIB = /opt/rh/devtoolset-7/root/usr/bin/mips64el-redhat-linux-g++QMAKE_AR = /opt/rh/devtoolset-7/root/usr/bin/ar cqs
QMAKE_OBJCOPY = /opt/rh/devtoolset-7/root/usr/bin/objcopy
QMAKE_NM = /opt/rh/devtoolset-7/root/usr/bin/nm -P
QMAKE_STRIP = /opt/rh/devtoolset-7/root/usr/bin/strip#TODO: Clean Qt to work with uclibc not calling itself GLIBC.
#QMAKE_CFLAGS += -D__FORCE_NOGLIBC
#QMAKE_CXXFLAGS += -D__FORCE_NOGLIBC# 板卡名称在此定义
BRCM_PLATFORM = 3a4000# Figure the kind of directfb build used.
BRCM_BUILD_TYPE = debug
contains(B_REFSW_DEBUG, [Nn]) {BRCM_BUILD_TYPE = release
}QMAKE_INCDIR_OPENGL_ES2 = $${BRCM_ROCKFORD_PATH}/middleware/v3d/interface/khronos/include
QMAKE_LIBDIR_OPENGL_ES2 = $${BRCM_ROCKFORD_PATH}/middleware/v3d/lib_$${BRCM_PLATFORM}_$${BRCM_BUILD_TYPE}
QMAKE_LIBS_OPENGL_ES2 = -lv3ddriver -lrt
QMAKE_LIBS_EGL =QMAKE_INCDIR_POST += $${BRCM_APPLIBS_PATH}/opensource/zlib/zlib-1.2.3
QMAKE_LIBDIR_POST += $${BRCM_APPLIBS_PATH}/opensource/zlib/zlib-1.2.3
QMAKE_RPATHLINKDIR_POST += $$QMAKE_LIBDIR_OPENGL_ES2 $${BRCM_APPLIBS_PATH}/opensource/zlib/zlib-1.2.3# DirectFB platform hooks for this hardware
QT_CONFIG += directfb_egl egl
DIRECTFB_PLATFORM_HOOKS_SOURCES = $$PWD/qdirectfbeglhooks_bcm97425.cpp
DIRECTFB_PLATFORM_HOOKS_INCLUDEPATH = $${BRCM_ROCKFORD_PATH}/middleware/platform/directfb
DIRECTFB_PLATFORM_HOOKS_LIBS = -ldbpl
DIRECTFB_PLATFORM_HOOKS_LIBDIR = $${BRCM_ROCKFORD_PATH}/middleware/platform/directfb/lib_$${BRCM_PLATFORM}_$${BRCM_BUILD_TYPE}QT_QPA_DEFAULT_PLATFORM = directfbeglload(qt_config)
configure
然后就是配置生成Makefile
[root@localhost qt-5.15.2] mkdir build && cd build[root@localhost qt-5.15.2] ../configure -v -device linux-mips64el-4000-g++ \-device-option CROSS_COMPILE=/opt/rh/devtoolset-7/root/usr/bin/ \-opensource -confirm-license -optimized-qmake -reduce-exports \-release -qt-pcre -make libs
make
然后会提示使用make
之类的工具进行安装,我这里提示我使用gmake
,为了编译快一点,我运行了gmake -j 4
编译通过以后再运行gmake install
进行安装,最后会安装在/usr/local/Qt-5.15.2
在其中的bin目录执行./qmake -v
可以看到安装成功
配置环境变量
然后配置环境变量以便常用,添加如下两句到用户目录的.bashrc
中,对应路径自行修改即可
export LD_LIBRARY_PATH=/usr/local/Qt-5.12.10/lib/:$LD_LIBRARY_PATH
export PATH=/usr/local/Qt-5.12.10/bin:$PATH
然后在任何地方都可以使用了
完成
如果要尝试qtcreator的话,本机自带是:
我不太懂Qt,这个版本的关系不太清楚,不过在设置Kit的时候是可以编译的
然后随便编译一个,效果如下:
参考链接
在树梅派上构建Qt本机版本
在龙芯平台源码安装Qt5.15相关推荐
- 最详细新版网课联盟27刷网课平台源码+安装教程+最新模板+下载地址
新版网课联盟27刷网课平台源码+安装教程+最新模板 第一步:准备一个服务器+域名 没有域名暂时使用服务器网址也可以 第二步:上传文件 上传文件到wwwroot上面,进行解压 第三步:进行防伪静态设置: ...
- 龙芯平台下软件安装(怎么寻找龙芯下的package)
不同Linux操作系统发行版的一大区别就是软件包管理不同,比如Fedora/RHEL系的rpm,Centos/Debian的deb.在龙芯等自主平台上软件有两类来源一类是国内商业软件如wps.QQ等, ...
- 风铃发卡平台源码安装教程(宝塔面板+云服务器轻松搭建)
风铃发卡平台源码下载地址及安装教程:点击查看 首先,安装宝塔面板,安装教程可以参考下面的文章: 阿里云服务器如何安装宝塔面板(Linux/windows系统) 腾讯云服务器如何安装宝塔面板(Linux ...
- 龙芯3B1500平台,源码安装nodejs过程中失败问题
http://ask.loongnix.org/?/question/91 你好,我在龙芯3B1500,安装已经移植成功的Nodejs-4.3.1 ,完全按照社区步骤走的. 机器上gcc版本4.8.3 ...
- 什么是龙芯平台JDK?国产龙芯平台JDK版本解惑
什么是龙芯平台JDK? 龙芯公司基于OpenJDK从无到有实现的LoongArch64和MIPS64上的版本. 龙芯平台JDK是基于开源的OpenJDK研发的,通过了JCK的测试,符合Java SE的 ...
- uos20(龙芯平台)上编译及更换最新kernl 5.9及kernel 4.19
OS: uos 20 龙芯版 下载龙芯或龙梦提供的4.19源码或从内核官网下载最新kernel(验证过5.9.13) 龙芯源码下载地址:http://ftp.loongnix.org/kernel/l ...
- PHP云课堂在线学习平台源码带文字安装教程
云课堂在线学习平台源码带文字安装教程 运行环境 服务器宝塔面板 PHP 5.6 Mysql 5.5及以上版本 Linux Centos7以上 这是一个功能齐全的云课堂在线学习平台,包括有直播系统,点播 ...
- APP分发系统大仙分发平台源码第二个版本 一键安装版
介绍: PHP APP分发系统大仙分发平台源码第二个版本 一键安装版 此版本支持苹果免签封和打包,一键执行全新安装 内附安装说明 网盘下载地址: https://zijiewangpan.com/ ...
- 5.3.3.tat.gz php_一步步在LINUX中源码安装PHP运行平台
一步步在LINUX中源码安装PHP运行平台 一步步在LINUX中源码安装PHP运行平台 本人是LINUX新手, 今天我们要学习一下如何在LINUX环境下安装PHP运行环境 目标:在LINUX环境下源码 ...
最新文章
- Linux下gedit显示行号
- pip升级之后出现:/usr/bin/pip: No such file or directory
- c语言预处理指令之 ##
- 前端学习(2983):一文理解数据劫持1
- 深入学习二叉树(二) 线索二叉树
- 遍历聚合对象中的元素——迭代器模式(四)
- mysql事务操作代码_Mysql中事务的使用【mysql】
- 模块应用:Arduino避障小车
- 初识大数据 小孩子都懂的大数据
- Verilog HDL 出租车计费器实现
- Google Earth Engine——使用climata和Python从USGS获取流数据
- Java设计模式--------观察者模式
- main flag redefined: graceful
- 简单工厂和工厂方法模式的区别和个人看法
- 微信小程序之swiper无限轮播实现效果
- 计算机字体渲染的学问
- Redis Lua拓展及使用示例
- 使用python和sklearn的文本多标签分类实战开发
- html+css+js+jQuery学习笔记
- linux搭建mcpe服务器_在Linux的各个版本上安装、配置Minecraft服务器版
热门文章
- 微信中怎么打开app文件 安卓微信跳转打开外部浏览器打开app文件下载链接(苹果无需上架跳转Apple Store下载)
- _improve-3
- SVG相关知识与应用
- Java中常见异常统计
- Linux/c++服务器开发方向的重点
- Web前端:JavaScript基础篇之var关键字
- 新日本语能力考试N2文法蓝宝书(详解%练习)2019
- 夺命雷公狗jquery---18jquery中常用属性(方法)
- 免费药店收银系统哪个好?
- [乐意黎原创]Centos主机里为Apache添加页面压缩mod_deflate模块开启gzip压缩