银河麒麟(Kylin) - 4.0.2 完整移植Qt 5.6.3 + QtCreator 4.2.0
原因
最近公司项目接触到国产飞腾双屏加固便携式计算机,搭载的是银河麒麟-4.0.2操作系统,由于项目需要Qt5.6.3和QtCreator 4.2.0 在此记录一下, 以便将来再用。
Qt源码内的README文档已经把编译安装步骤写得很详细,出了问题请第一时间对照文档是否有遗漏、疏忽的地方。
准备工作
1、去QT官网下载QT 5.6.3 源码 + QtCreator 4.2.0 源码
QT下载:
下载 :qt-everywhere-opensource-src-5.6.3.tar.xz
官网 :https://download.qt.io/new_archive/qt/5.6/5.6.3/single/
git下载:
git clone https://code.qt.io/qt/qt5.git
cd qt5
git checkout v5.6.3
git submodule update --init --recursive
QtCreator 下载:
下载 :qt-creator-opensource-src-4.2.0.tar.gz
官网 :https://download.qt.io/archive/qtcreator/4.2/4.2.0/
git下载:
git clone https://code.qt.io/qt-creator/qt-creator.git
cd qt-creator
git checkout v4.2.0
git submodule update --init --recursive
2、确保系统的gcc,g++, python, perl等符合Qt安装要求,具体请参见Qt源码内的README文档
如图:

编译
1、编译安装Qt
进入qt-everywhere-opensource-src-5.6.3目录执行以下命令:
./configure -prefix /opt/qt5.6.3 -qt-xcb -nomake tests -nomake examples

make -j8 #-j8为编译时多核优化,视物理机而定
make install #然后执行安装

编译中途报错缺少库依赖,自行安装缺少的库。
实际上我在编译中,就只遇到缺少xkbcommon库。
2、安装所依赖的库
安装编译Libxcb的相关依赖
sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
3、编译安装Qt Creator
添加环境变量配置
vim /root/.bashrc
export QTDIR=/opt/qt5-5.6.3
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

vim /etc/profile
export QTDIR=/opt/qt5-5.6.3
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

进入qt-creator-opensource-src-4.2.0目录执行以下命令:
qmake -r

make #执行编译,请注意这里不要使用多核优化-j选项, 会出错
make install #执行默认安装, 可执行文件就在源码路径bin文件夹内

提示:
如果提示找不到qmake, 请自行将编译Qt源码时生成的qmake加入环境变量,或者执行 绝对路径/qmake -r,或者将qmake复制到/usr/bin。
Qt Creator 编译时带的第三方库botan没有对aarch64编译工具的支持, 在编译过程中会出现一个找不到cpuid.h头文件的错误,参考Qt的官方解决办法https://codereview.qt-project.org
cpuid.h头文件的错误如图:
Qt官方的解决办法提供的patch源码补丁并不是支持所有版本的源代码,需要参考补丁修改内容,找到我们自己使用的版本的源代码相应地方修改, 不是简单打个补丁。
make install 时可以加INSTALL_ROOT执行安装目录
例如:
make install INSTALL_ROOT=/opt/qt-creator-4.2.0
4、测试


安装完成
编译成功:QT5.6.3
编译成功:QT-Creator-4.2.0
补丁包 :cpuid.h的头文件的错误的,60cc910.tar补丁包

2万+

被折叠的 条评论
为什么被折叠?



