社区版Uos20.9从源码编译QT5.15.2
主要是在这个文章上学的究极保姆式教你如何在Ubuntu上源码安装Qt5.15.2_ubuntu安装qt5.15.2-CSDN博客
但原文上在环境变量的配置上真用在 uso上好像不行,要加一些引号和$号。原文的测试编译代码也有些问题,include上少了类。略作修改,在UOS社区版20.9上成功执行
下载QT源码
可以到清华大学下载:Index of /qt/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
本文所用5.15.2在此目录:Index of /qt/official_releases/qt/5.15/5.15.2/single/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
下载qt-everywhere-src-5.15.2.tar.xz即可。
安装依赖
sudo apt-get install gcc
sudo apt-get install gedit
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install gperf
sudo apt-get install libxcb*
sudo apt-get install build-essential libthread*
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 libxkbcommon-x11-dev
sudo apt-get install libxkbcommon-dev
sudo apt-get install libxrender-dev
sudo apt-get install libx11-dev
sudo apt-get install libx11-xcb-dev
sudo apt-get install libnss3-devsudo apt-get install libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libxtst-dev libxss-dev libdbus-1-dev libevent-dev libfontconfig1-dev libcap-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libegl1-mesa-dev gperf bison nodejs#Qdoc依赖
sudo apt-get install libclang-6.0-dev llvm-6.0#QtWebengine依赖
sudo apt-get install xcb* libxcb* libx11* libxkbcommon* libxrender* libxi-dev
sudo apt-get install flex libicu-dev libxslt-dev
sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev
sudo apt-get install libdus* dbus*
sudo apt-get install libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libxss-dev
sudo apt-get install libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
sudo apt-get install nodejs gyp ninja-build libdrm-dev
sudo apt install libfontconfig1-dev libdbus-1-dev libnss3-dev libgl1-mesa-dev
配置编译参数
-
切换到已解压的源码目录目录:cd qt-everywhere-src-5.15.2
-
配置信息:
./configure -xcb -prefix /data/Qt-5.15.2
(后面一定要注意加后缀xcb,默认是安装到/usr/local/下,也可以通过-prefix指定安装位置) -
配置提示第一个输入O
-
配置提示第二个输入y (如果配置出错,根据提示安装依赖,安装完依赖后一定要记得清除掉缓存再重新配置rm -rf config.cache之后再./configure -xcb)
编译和安装
-
make -j 8
(编译很慢,基本要在两个小时左右,根据电脑性能来定,有个可能花一天时间编译) -
编译完成后安装
sudo make install
配置环境变量
export QTDIR="/data/Qt-5.15.2"
export PATH="$QTDIR/bin:$PATH"
export MANPATH="$QTDIR/man:$MANPATH"
export LD_LIBRARY_PATH="$QTDIR/lib:$LD_LIBRARY_PATH"
export QT_SELECT="qt-5.15.2"
测试QT是否可以正常编译程序
在HelloQT文件夹建立以下helloQT.CPP
#include <QApplication>
#include <QLabel>int main(int argc, char *argv[])
{// 创建 QApplication 对象QApplication app(argc, argv);// 创建一个简单的标签控件QLabel label("Hello, Qt!");label.resize(200,200);// 显示标签label.show();// 进入应用程序的事件循环return app.exec();
}
编译
qmake -project QT+=widgets #会生成一个以目录名一样的project
qmake HelloQT.pro #编译这个Project
make #生成可执行文件
./HelloQT #运行这个文件
运行后界面如下: