linux环境下编译Qt源码

mac2024-04-09  26

环境配置:Ubuntu-16.04

1) 下载源码

在官方网站:http://download.qt.io/archive/qt/5.12/5.12.5/single/上下载qt-everywhere-src-5.12.5.tar.xz


2) 解压

xz -d qt-everywhere-src-5.12.5.tar.xz tar -xvf qt-everywhere-src-5.12.5.tar


3) 安装依赖

安装flex词法分析器和bison语法分析器 sudo apt-get install flex sudo apt-get install bison 安装gperf哈希函数生成器 sudo apt-get install gperf 安装libxcb*,[参考] sudo apt-get install libxcb* 安装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 安装llvm(如果不用QDoc则不需要安装。强烈不建议安装,费时费力费空间)

4) 执行configure

强烈不建议在Qt源码的目录下直接进行编译,那样会污染源码所在目录。建议在Qt源码所在的同级目录下,新建一个文件夹用来存放编译过程中产生的临时文件。

一定要注意源码路径不能含有中文!
$ mkdir qt-5.12.5-build

进入qt-5.12.5-build文件夹执行configure。-release是选择模式,-prefix /opt/qt-5.12.5指定编译之后库文件的安装位置为/opt/qt-5.12.5-install(完整路径是/home/username/opt/qt-5.12.5-install,一般源码包都会安装到系统opt目录下)。安装位置可自行更改。

$ cd qt-5.12.5-build //安装到系统opt目录下 ~/qt-5.12.5-build$ ./../qt-everywhere-src-5.12.5/configure -release -prefix /opt/qt-5.12.5 //安装到源码同级目录下 ~/qt-5.12.5-build$ ./../qt-everywhere-src-5.12.5/configure -release -prefix ../qt-5.12.5

提示选择版本,输入o,回车

询问是否接受协议,输入y,回车

configure过程结束:

如果configure的结果出现:

WARNINGsolutionsCould not find qmake spec " .检查源码路径是否包含中文WARNING: gperf is required to build QWebEngine.sudo apt-get install gperfWARNING: flex is required to build QWebEngine.sudo apt-get install flexWARNING: bison is required to build QWebEngine.sudo apt-get install bisonWARNING: QDoc will not be compiled.install llvmERROR: The OpenGL functionality tests failed!install OpenGLNOTE: No wayland-egl support detected. Cross-toolkit compatibility disabled.sudo apt-get install libegl1-mesa-dev
安装好对应依赖库后,需要进入qt-5.12.5-build文件夹执行rm config.cache以删除之前缓存的配置,然后再次执行configure。

5) 执行make

这一过程大约需要半小时到4个小时不等。

~/qt-5.12.5-build$ make

6) 执行make install

命令前加上sudo保证安装文件夹不存在时自动创建。大概几分钟完成。

~/qt-5.12.5-build$ sudo make install

7) 修改环境变量

在终端输入:

sudo gedit ~/.profile(or .bashrc)

在打开的文件末尾加上下面的内容(/opt/qt-5.12.5-install是指定的库文件安装位置),保存修改并重启虚拟机。

export QTDIR=/opt/qt-5.12.5-install export PATH=$QTDIR/bin:$PATH export MANPATH=$QTDIR/man:$MANPATH export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

在终端输入qmake -v,出现如下信息,说明qt源码编译并安装成功。

8) 新建test.cpp

#include<QApplication> #include<QWidget> int main(int argc,char *argv[]) { QApplication app(argc,argv); QWidget* pWidget = new QWidget; pWidget->setFixedSize(400, 300); pWidget->show(); return app.exec(); }

9) 测试

# 通过命令生成的pro文件,里面会缺少引用,最好还是通过QtCreator生成 $ qmake -project $ qmake test.pro

打开生成的test.pro文件,加入QT += widgets

$ make $ ./test
参考文章
Linux平台QT开发环境搭建Ubuntu 14.04系统下安装和编译QT 5.9.2库(桌面版/ARM嵌入式IMX6版)Qt源码编译configure配置参数
最新回复(0)