uos编译qt 龙芯

系统版本

1
2
uname -a
Linux flame-PC 4.19.0-loongson-3-desktop #5310 SMP Mon Oct 10 19:17:12 CST 2022 loongarch64 GNU/Linux

qt版本5.12.8

https://download.qt.io/archive/qt/5.12/5.12.8/single/qt-everywhere-src-5.12.8.tar.xz

下载源码

1
wget https://download.qt.io/archive/qt/5.12/5.12.8/single/qt-everywhere-src-5.12.8.tar.xz --no-check-certificate

解压

1
tar xf qt-everywhere-src-5.12.8.tar.xz

configure

进入源码目录qt-everywhere-src-5.12.8

查看README检查Perl、Python版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
HOW TO BUILD QT5
================


Synopsis
========

System requirements
------------------

- Perl 5.8 or later
- Python 2.7 or later
- C++ compiler supporting the C++11 standard
...

执行configure

1
./configure -prefix $PWD/build -opensource -nomake tests -nomake examples

参数:

-prefix $PWD/build生成路径

-opensource开源用户

-nomake tests -nomake examples跳过tests和examples

出现ERROR:提示时需要根据说明安装缺少的包或者配置相应的环境变量

出错后需要rm -rf config.cache删除config.cache后重新执行./configure -prefix $PWD/build -opensource -nomake tests -nomake examples

可能遇到bash和perl权限不够的问题。修改/usr/bin/目录下的bashshdashperl的权限为777。

configure执行成功后显示如下内容

1
2
3
4
5
6
Qt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into '/home/flame/qt-everywhere-src-5.12.8/build'.

Prior to reconfiguration, make sure you remove any leftovers from
the previous build.

编译

1
make 

如果编译时报错

1
2
../3rdparty/double-conversion/include/double-conversion/utils.h:113:2: error: #error Target architecture was not detected as supported by Double-Conversion.
#error Target architecture was not detected as supported by Double-Conversion.

需要安装libdouble-conversion-dev

1
sudo apt install libdouble-conversion-dev libdouble-conversion1