麒麟V10SP1的国产化Qt适配

最近适配了麒麟V10SP1的Qt5.15.2,简化适配流程、总结步骤。

一、下载Qt5.15.2源码

wget https://download.qt.io/archive/qt/5.15/5.15.2/single/qt-everywhere-src-5.15.2.tar.xz
tar -xf qt-everywhere-src-5.15.2.tar.xz
注:最好将源码下载或解压到一个特定的位置、方便后期查找维护

二、安装依赖

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libxcb-xinerama0-dev
sudo apt-get install build-essential perl python git
sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
sudo apt-get install flex bison gperf libicu-dev libxslt-dev ruby
sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libdbus-1-dev libfontconfig1-dev libcap-dev libxtst-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libxss-dev libegl1-mesa-dev gperf bison
sudo apt-get install libasound2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
sudo apt install libclang-6.0-dev llvm-6.0
sudo apt-get install clang-8
sudo apt-get install clang

每次执行完依赖安装命令以后需要检查是否安装成功、因为系统版本不同、导致各个源中的库文件名字可能不一样。
安装失败的时候需要去搜索是否有类似的安装包。一般命令就是 apt search +资源名(大概的就行)、根据查询结果
安装自己需要的。

三、安装ninja

1)安装ninja依赖
sudo apt-get install re2c
(2)编译ninja
cd qt-everywhere-src-5.15.2/qtwebengine/src/3rdparty/ninja
./configure.py --bootstrap
(3)安装
sudo cp ./ninja /usr/bin
ninja --version

四、资源检查

进入到步骤一的源代码解压释放的目录下,执行编译检查命令在这里插入图片描述
系统将罗列出编译Qt5.15.2所有的依赖资源是否存在,在这里我重点关注Qt的webengine相关的资源。yes代表相关资源存在、no表示缺失。并不是所有的no都是不可缺失的、却决于项目需要。
以资源:Proprietary Codecs … no为例,需要安装时的操作流程如下:
利用apt search 进行模糊搜索
在这里插入图片描述
根据查询出的结果进行apt-get install + 搜索结果名称
全部检查、安装必要库以后可以再次执行资源检查命令:

./configure -prefix /usr/local/Qt-5.15.2 -release -opensource -nomake examples -nomake tests -platform linux-clang -recheck-all

(注)该命令要在Qt源码路径下执行。

五、源码编译安装

进入到Qt源码路径下执行命令 make -j 8 整个编译过程大约需要半天左右。可以根据控制台输出的编译信息解决相关问题。
问题主要分以下几类:
1、编译生成的.o文件创建失败,这种情况一般是没有权限导致的。解决方法:将源码文件夹赋予777。chmod -R 777 +文件夹名称
2、编译过程中遇到资源依赖缺失、编译失败的。这种情况就是相应模块的链接资源不存在。可以根据错误提示寻找缺失资源库。apt search + 模糊名称 / apt-get install +搜索道得库。安装完成后再继续编译
3、遇到源码编译错误的。…/…/3rdparty/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h:1014:19: error: functional-style cast from ‘F’ (aka ‘V’) to ‘__fp16’ is not allowed
__fp16 fp16 = __fp16(f);
解决方法:
修改文件1014行
./src/3rdparty/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h
__fp16 fp16;
全部完成编译以后可以进入安装:make install
安装完成以后查看一下版本信息:make -v
配置qmake:qtchooser -install qt5.15.2 /usr/local/Qt-5.15.2/bin/qmake
配置环境变量:echo “export QT_SELECT=qt5.15.2” >> ~/.bashrc

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值