Linux QT5 源码编译安装(树莓派4B已实验)

作者:MIRIII    提交时间:2021-08-21    点击:3463    TAGS:

Qt5.5之后,官方的Qt没有Linux系统的32位安装包,开发环境需要32位Qt只能通过源码编译安装,本文实验环境:树莓派4B 4GB

先下载源码,下载网址:http://download.qt.io/archive/qt/   ,我下载的是 qt-everywhere-src-5.14.2.tar.xz

tar xvf qt-everywhere-src-5.14.2.tar.xz


配置

解压、进入源码目录后,配置编译选项
cat README   查看帮助文档

官方帮助文档说的并不是很清楚,不过给出了一个从git编译Qt5的链接,里面的说明还是很详细的
# Building Qt5 from git

See http://wiki.qt.io/Building_Qt_5_from_Git and README.git
for more information.
See http://wiki.qt.io/Qt_5 for the reference platforms.



安装需要的工具

sudo apt-get install build-essential perl python


安装XCB的库

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


安装多媒体的库

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


如果需要使用WebEngine和WebKit的库还需要额外安装

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


配置选项

cd /home/qt-everywhere-opensource-src-5.14.2
./configure -confirm-license -opensource -prefix $PWD\qtbase -release -skip qtmacextras  -skip qtandroidextras

-confirm-license -opensource 使用开源协议
-prefix 指定安装目录
-release 安装发布版本
-nomake tests -nomake examples 不安装测试和示例模块
-skip 可以跳过一些源码模块进行编译,这里我跳过了明显不用的苹果和安卓模块


先编译一个基础包(时间比较长

cd /home/qt-everywhere-opensource-src-5.14.2    
make -j4 module-qtbase             //树莓派4B 4GB环境,编译大约2小时


编译成功后,再全部编译(时间很长,要有耐心

make -j4	//时间比较长,使用4线程编译          //树莓派4B 4G环境,08.21 13点开始


安装

sudo make install


配置Qt路径

sudo vim /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf    //64位系统
sudo vim /usr/lib/i386-linux-gnu/qt-default/qtchooser/default.conf      //32位系统

将第一行改为Qt安装目录的bin路径,第二行改为Qt的安装路径
/home/qt-everywhere-opensource-src-5.8.0/qtbase/bin
/home/qt-everywhere-opensource-src-5.8.0/qtbase


安装qtCreator

进入源码目录后
qmake -r
make -j4
sudo make install INSTALL_ROOT=$INSTALL_DIRECTORY //$INSTALL_DIRECTORY是你的安装目录