树莓派464bit编译安装QT5.13.2和RedisDesktopManager.1dev

编程

2017年的时候我发表过一篇树莓派 编译安装Python3.5 + PyQT5.8 + Eric6 的文章 链接在此,由于当时搞完了再写的,回忆过程中有些遗漏,导致留言里抱怨问题太多……这次特地边搞边写……

 

之前上一篇已经交代了系统已经编译安装了Python 3.8.3 和Vscode ,VSCode 网上教程一堆,几步搞定,不多说,安装后显示为Code - OSS (headmelted)

编译安装 redis6.0 也比较简单,很顺利没有太多麻烦,这里不赘述。

说明下,其实我所有的命令都是在su下完成,全部用的proxychain4 代理下载的,真实命令只有 p4 apt install xxxxx , 这里为了严谨没有直接这么写

64bit beta 没有预装QT,于是

sudo apt-get install qt5-default qtcreator qtdeclarative5-dev qtmultimedia5-dev libqt5sql5-mysql 

命令一顿撸,安装启动后正常,版本qt5.11 , QTcreator4.8,继续,在pi用户的downlaods 目录下:

git clone --recursive https://github.com/uglide/RedisDesktopManager.git -b 2020 rdm2020 && cd ./rdm2020


下载后,用Qtcreator 打开src中的工程文件,发现问题很多,缺模块,一顿操作补充模块,发现插件版本又不对……算了,按照官方要求,直接上Qt5.13 编译安装Qt5.13 全程用了4小时,大家要有心理准备 , 下载源码:

wget http://download.qt.io/archive/qt/5.13/5.13.2/single/qt-everywhere-src-5.13.2.tar.xz


 国外有一篇写编译qt5.12的文章,链接在此  微雪也有一篇写的很多人看过,都是在32位系统下的,64位系统有很多不同,

先下载树莓派的配置文件

我是直接 访问  https://github.com/oniongarlic/qt-raspberrypi-configuration  打包下载解压后

把里面的 linux-rpi4-v3d-g++ 文件夹放到 qt-everywhere-src-5.13.2/qtbase/mkspecs 目录里

common 目录里的raspberrypi.conf 放到 qt-everywhere-src-5.13.2/qtbase/mkspecs/common 里面

按照这样编译不了的,报错: 不支持参数  -mfpu=crypto-neon-fp-armv8

因为 arm 开发文档里面有写 相关链接

Note
The -mfpu option is only valid with the armv8a-arm-none-eabi target. It is not possible to override the default FPU for the aarch64-arm-none-eabi target. However, you can prevent the use of floating-point instructions or floating-point registers for the aarch64-arm-none-eabi target with the -mgeneral-regs-only option.

到 linux-rpi4-v3d-g++ 目录里,打开 qmake.conf 修改

 

 QMAKE_CFLAGS            += -march=armv8-a -mtune=cortex-a72

保存,安装依赖

apt install build-essential libfontconfig1-dev libdbus-1-dev libfreetype6-dev libicu-dev libinput-dev libxkbcommon-dev libsqlite3-dev libssl-dev libpng-dev libjpeg-dev libglib2.0-dev libraspberrypi-dev

这样子编译会出现错误:

Note: The following modules are not being compiled in this configuration:

3dcore

3drender

…………

继续补充依赖:

apt install ibgles2-mesa-dev libgbm-dev libclang-dev

同时在终端下运行:raspi-config Advanced Options -> GL Driver -> GL 2  选择此项

现在再 到 qt-everywhere-src-5.13.2 中运行:

./configure -platform linux-rpi4-v3d-g++ -v -opengl es2 -eglfs -no-gtk -opensource -confirm-license -release -reduce-exports -force-pkg-config -nomake examples -no-compile-examples -skip qtwayland -skip qtwebengine -skip qtscript -no-feature-geoservices_mapboxgl -qt-pcre -no-pch -ssl -tslib -evdev -system-freetype -fontconfig -glib -prefix /opt/Qt5.13.2 -qpa eglfs -recheck-all

经过一堆检查操作,没有报错就要开始编译, 由于我是8gb没搞交换内存等,而且有风扇吹,直接上-j 4

 make -j 4

经过4个小时的漫长等待,如果没有报错就可以进行下一步了

后面发现还有坑,这里先补一些依赖

apt install libxcb-xfixes0-dev

makeinstall

后续还会提示一些七七八八问题,遇到一个解决一个:

/usr/bin/ld: 找不到 -lclip2tri
/usr/bin/ld: 找不到 -lpoly2tri
/usr/bin/ld: 找不到 -lclipper

主要是这6个第三方问题:

qt-everywhere-src-5.13.2/qtlocation/src/3rdparty/clip2tri
qt-everywhere-src-5.13.2/qtlocation/src/3rdparty/clipper
qt-everywhere-src-5.13.2/qtlocation/src/3rdparty/poly2tri
qt-everywhere-src-5.13.2/qtvirtualkeyboard/src/plugins/openwnn/3rdparty/openwnn
qt-everywhere-src-5.13.2/qtvirtualkeyboard/src/plugins/pinyin/3rdparty/pinyin
qt-everywhere-src-5.13.2//qtvirtualkeyboard/src/plugins/tcime/3rdparty/tcime

遇到就去这些目录里面,make 一下:然后再make install,此过程历时1个多小时

最终没有再报错结束,这时候打开 QTcreator 打开 工具 -> 选项 Kits 中 QtVersion手工设置 路径,同时Kits中也添加一个设置,如图

 

 

这时候再打开之前的rdm2020目录中src目录,选择工程文件,选择自己的环境Qt5.13.2,然后

再rdm2020中新建 build-rdm-default-Debug 、build-rdm-default-Release 、build-rdm-default-Profile、以及 /bin/linux/release 目录

按照要求 要 pip3 install -r src/py/requirements.txt

但是可能有些不一定能装上,这边我缺的不多,直接运行以下你内容

pip3 install bitstring cbor msg phpserializ

apt install python3-pandas

修改配置others/resource 中的文件 qt.conf

 

[Paths]

Libraries=/opt/Qt5.13.2/lib

Plugins=/opt/Qt5.13.2/plugins

Qml2Imports=/opt/Qt5.13.2/qml

 

以及 src/resources/rdm.sh 修改为

#!/bin/bash

DIR=$(dirname "$(readlink -f "$0")")

export LD_LIBRARY_PATH="$DIR/../Qt5.13.2/lib":$LD_LIBRARY_PATH

$DIR/rdm

选择 - 工具 - 外部 - QT语言家 -  发布翻译,生成 翻译的qm文件

选择 构建 - 构建项目“rdm"  不会太久,10来分钟后,完成,警告不用管,不报错就行,点击运行如图

 

这里补充一点:

我这边发现无法切换语言和字体,选择后重新启动还是原来一样,别的没问题,修改源代码app/app.cpp 以及 翻译 .ts  文件名规则,还是不行,debug显示 加载load() 为 True 没问题,有待解决:

  QTranslator translator;

if (translator.load(QLocale(), "rdm", ".",QLatin1String(":/translations",".qm"))){

qDebug() << "Load translations file for locale:" << locale;

QCoreApplication::installTranslator(&translator);

}else {

qDebug() << "Load translations failed:";

}

/* QTranslator* translator = new QTranslator((QObject*)this);

if (translator->load(QString(":/translations/rdm_") + locale)) {

qDebug() << "Load translations file for locale:" << locale;

QCoreApplication::installTranslator(translator);

} else {

qDebug() << "Load translations failed:" << QString(":/translations/rdm_") + locale;

delete translator;

}

*/

}

 

还修改了下 src/modules/updater/updater.cpp 文件,注释以下代码,不想让它每次都去访问升级地址:

/* manager->get(QNetworkRequest(updateUrl));*/

具体有其他问题可以留言

:)

 

原文链接:https://www.cnblogs.com/zhaoker/archive/2020/06/11/raspi4_qt5-13.html

以上是 树莓派464bit编译安装QT5.13.2和RedisDesktopManager.1dev 的全部内容, 来源链接: utcz.com/z/517382.html

回到顶部