银河麒麟--aarch64 编译安装Qt5.9.9+QtCreator4.8.2

1. Qt5.9.9 编译安装

目前在银河麒麟V10 arm处理器下编译安装后可用的最高版本是Qt5.12.0
验证了很多版本,都存在xcb的问题,Qt5.12.0版本编译安装方法同Qt5.9.9

1.1 下载Qt5.9.9源码

下载:qt-everywhere-opensource-src-5.9.9.tar.xz1
官网:点击下载Qt5.9.9,下载*.tar.xz

系统环境如下
系统版本

1.2 确保系统中g++,gcc,python,perl及环境符合安装要求

确保系统的gcc,g++, python, perl等符合Qt安装要求,具体请参见Qt源码内的README文档

1.2.1基础编译环境安装2

sudo apt-get build-dep qt5-default                  #不一定成功,但不影响安装
sudo apt-get install libxcb-xinerama0-dev
sudo apt-get install build-essential perl python git

1.2.2安装Libxcb

sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev

如果libglu1-mesa-dev安装报错,可以下载apttitude自动解决依赖问题( 先否定不装,再进行前置包的升降级就OK)

1.2.3安装OpenGL3

#如果openGL安装失败,且不需要,可忽略
sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglu1-mesa-dev
sudo apt-get install libegl1-mesa-dev
sudo apt-get install freeglut3-dev
#其他依赖
sudo apt-get install bison gperf flex ruby python libasound2-dev libbz2-dev libcap-dev \
libcups2-dev libdrm-dev libgcrypt11-dev libnss3-dev libpci-dev libpulse-dev libudev-dev \
libxtst-dev gyp ninja-build libfontconfig1-dev libx11-xcb-dev libicu-dev libatkmm-1.6-dev
否则报错:
ERROR: The OpenGL functionality tests failed!
You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL[_ES2],
QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your platform.

1.2.4安装Qt WebKit

sudo apt-get install flex bison gperf libicu-dev libxslt-dev ruby

1.2.5安装Qt WebEngine

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

1.2.6安装Qt Multimedia

sudo apt-get install libasound2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev

1.2.7安装QDoc Documentation Generator Tool

sudo apt install libclang-6.0-dev llvm-6.0

1.3 编译与安装

1.3.1 解压tar文件并进入文件夹,进行编译检查

tar -xvf qt-everywhere-opensource-src-5.9.2.tar.xz
cd /home/xxx/qt-everywhere-opensource-src-5.9.2 (你已经解压的路径)
#进行编译检查
./configure -prefix $PWD/build -opensource -nomake tests

上述过程执行完毕后,确认没有报错,执行make命令。
如果报错,那么还有库没有被安装。主要原因可能是没有源导致,对apt进行换源,然后重复1.2.2~1.2.7过程,确保依赖库安装完全。

1.3.2 执行make命令4
编译后需配置环境变量,打开~/.bashrc,在文件末尾添加Qt环境变量如下。

#qt 
export QTDIR=/xxx/xxx #(/xxx/xxx = 你想安装的路径)
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

使环境立即生效

source ~/.bashrc 

开始编译

make -j8

编译过程中可能有许多问题5,现提供目前所遇到的问题及解决方案:
问题1:

#qeglfskmsegldevice.cpp报错
error: no declaration matches ‘Display* QEglFSKmsEglDevice::nativeDisplay() const

解决方案:
https://bugreports.qt.io/browse/QTBUG-62893
https://code.qt.io/cgit/qt/qtbase.git/commit/h=dev&id=9a640e7bc67b0a1ff5c61c63703b669e6f24521e
省流:将报错的函数整体替换为另一个版本

//用于替换的函数
void *QEglFSKmsEglDevice::nativeDisplay() const
{
    return m_devInt->eglDevice();
}

问题2:

error:  'GL_gloat'等GL相关的类型找不到 

解决方案:
找到报错的.cpp文件并打开,添加头文件,再编译

#include  <GL/gl.h>

尽量将新添加的头文件放在第一行
问题3:

error:  ‘SIOCGSTAMP’ 的错误

解决方案:
打开socketcanbackend.cpp,添加头文件,再编译

#include <linux/sockios.h>

1.3.3 开始安装6

编译完后无报错,执行make install命令,如下

make install

安装完成后,打开一个新的命令行。执行qmake -version查看是否安装成功,命令如下

qmake -version
#若成功,显示如下
QMake version 3.1
Using Qt version 5.9.9 in /xxx/xxx/lib

2.QtCreator编译安装

2.1 下载Qt-Creator-4.8.2源码

下载:qt-creator-opensource-src-4.8.2.tar.gz
官网:点击下载qt-creator

2.2 编译与安装

2.2.1 解压tar文件并进入文件夹,进行qmake

tar -xvf qt-creator-opensource-src-4.8.2.tar.xz
cd /home/xxx/qt-creator-opensource-src-4.8.2 (你已经解压的路径)
qmake -r

2.2.2 开始编译make
执行完成后,执行make命令进行编译,我看网上说,最好不要加工作负载核,容易报错,整个编译过程也比较长。

make

2.2.3 开始安装
执行完make之后,确认没问题之后,执行make install
开始编译

sudo make install

安装完成后,打开安装好的qtCreator

qtcreator

此时可能出现打不开qtcreator的情况,去bin文件夹下先运行一次,如果成功,修改环境变量就可以了。

Warning: No themes found in installation:  "/usr/share/qtcreator/themes"
段错误 (核心已转储)
#方法
cd /xxx/xxx/bin
./qtcreator

如果可以成功打开qtcreator,配置环境变量,打开~/.bashrc,在文件末尾添加Qt环境变量如下。

#qtcreator 
export QTDIR=/xxx/xxx #(/xxx/xxx = qtcreator安装的路径)
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

2.2.4 创建desktop文件
如果qtcreator安装完成后没有桌面图标,需要自行创建一个

cd /usr/share/applications
sudo vi qtcreator.desktop

然后在创建的新.desktop文件里写入:

[Desktop Entry]
Type=Application
X-GNOME-UsesTerminal=true
Exec=bash -ic "/xxx/xxx" %F    (/xxx/xxx = qtcreator的安装路径)
Name=Qt Creator
GenericName=C++ IDE for developing Qt applications
X-KDE-StartupNotify=true
Icon=/yyy/yyy                  (/yyy/yyy = qtcreator的图标路径)
StartupWMClass=qtcreator
Terminal=false
Categories=Development;IDE;Qt;
MimeType= text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.qt.qmakeprofile;application/vnd.qt.xml.resource;

将写好的文件,复制到桌面,然后给文件添加权限

sudo cp qtcreator.desktop ~/desktop/qtcreator.desktop
sudo chmod +x ~/desktop/qtcreator.desktop

然后双击桌面的图标,能够打开qtcreator即为成功

2.2.5 配置qtcreator的编译器和桌面环境
此时新建项目时提示需要配置,后面主要修改以下两个部分:Kits—>Compiler,需要选择两个编译器,然后在Qt version里面选择刚刚安装好的Qt-5.9.9。


  1. 感谢参考1 ↩︎

  2. 感谢参考2 ↩︎

  3. 感谢参考6 ↩︎

  4. 感谢参考3 ↩︎

  5. 感谢参考5 ↩︎

  6. 感谢参考4 ↩︎

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值