1. QT 版本选择
如何选择QT版本,参考如下介绍
https://www.cnblogs.com/chinasoft/p/15226293.html
2. 在此以5.15.0解说
下载QT 版本qt-everywhere-src-5.15.0.tar.xz
https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/qt/5.15/5.15.0/
3. 安装前如果Ubuntu版本太低很难安装,建议升级,参考
从根本上解决源问题
(24条消息) 如何从根本上解决E: Unable to locate package错误的方法_曲中舟的博客-CSDN博客
https://www.cnblogs.com/life-Meer/p/15655643.html
4. 了解Configure编译选项参考
https://blog.csdn.net/caih2000/article/details/53186484
编译可能出错的问题:
https://blog.csdn.net/situzhuge/article/details/5868148
主要解决的问题参考:
https://www.freesion.com/article/6997576925/
5. 安装依赖库
6. 编译
强烈不建议在Qt源码的目录下直接进行编译,那样会污染源码所在目录。建议在Qt源码所在的同级目录下,新建一个文件夹用来存放编译过程中产生的临时文件
mkdir qt-5.15.0-build
进入qt-5.15.0-build文件夹执行configure,-prefix /opt/qt-5.15.0指定编译之后库文件的安装位置
../qt-5.15.0/configure -release -prefix /usr/local/Qt-5.15.0 -opensource -confirm-license -no-openssl
make
make install
7. QT 模块原理
https://www.cnblogs.com/ligao12/p/13208416.html
8. 配置环境变量
#for x11 /etc/profile
export QTDIR=/opt/qt-5.15.0
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QMAKESPEC=$QTDIR/mkspecs/linux-g++
使环境变量生效
Source /etc/profile
Cd example/widgets/analogclock/
qmake -project//创建工程
qmake//产生makefile
make clean//
make//当前目录下会生成与文件名同名的可执行文件,如果报QTest之类的错误,就在pro文件上加上
//QT += network//网络
//QT += testlib//QTest
以下是手动升级cmake版本的参考文章
https://blog.csdn.net/sinat_24899403/article/details/114385527
https://blog.csdn.net/weixin_45392081/article/details/106447955?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link
以下是升级gcc 版本的参考文章
https://blog.csdn.net/u014608280/article/details/80569328
本人成功的版本如下:
Gcc 版本6.3.0
Gmp 版本 6.1.2
Mpfr版本 4.1.0
Mpc版本1.2.1
创建新的gcc软连接
ln -sf /usr/local/gcc/bin/gcc /usr/bin/gcc
ln -sf /usr/local/gcc/bin/c++ /usr/bin/c++
ln -sf /usr/local/gcc/bin/g++ /usr/bin/g++
ln -sf /usr/local/gcc/lib64/libstdc++.so.6.0.22 /usr/lib64/libstdc++.so.6
或者(根据系统的gcc -v 命令来链接)
ln -sf /usr/local/gcc/lib64/libstdc++.so.6.0.22 /usr/lib/x86_64-linux-gnu/libstdc++.so.6