借鉴大佬:https://blog.csdn.net/sinat_33896833/article/details/107357529
https://blog.csdn.net/qq_29912325/article/details/123066776
https://blog.initm.com/qt5-gl-gl-h.shtml
一、准备环境:
Linux Qt下载地址:http://download.qt.io/archive/qt/
1.安装Qt
 下拉找到Qt 5.14.2,下载。
需要注册账号Qt账号,注册的账号在安装的时候会用到
下载qt-opensource-linux-x64-5.14.2.run文件
打开命令行终端(快捷键ctrl+alt+t),chmod 777 qt-opensource-linux-x64-5.14.2.run,赋予执行权限
然后执行./qt-opensource-linux-x86-5.14.2.run命令进行安装,需要安装的组件全选
安装完成之后即可在安装路径下看到Qt5.14.2文件夹,安装成功
2.配置环境
 用gedit命令打开/etc/profile文件:sudo gedit /etc/profile。该文件是每个用户登录时都会运行的环境变量设置 .bashfile 是单用户登录时比如root会运行的。
在profile文件最下面添加以下代码:
export PATH="/xxx/Qt5.14.2/Tools/QtCreator/bin:$PATH"
 export PATH="/xxx/Qt5.14.2/5.14.2/gcc_64/bin:$PATH"
 注意:是自己QT安装目录
保存profile文件后执行source /etc/profile命令即可修改环境变量
终端下执行qtcreator命令即可打开Qt,运行即可;
二、使用mysql问题
Qt下载安装完成之后,没有自带MySQL的库,必须通过Qt源代码编译.
现象是Qt使用MySQL时会报错:
Driver not loaded Driver not loaded
实际上是缺少:
/opt/Qt5.14.2/5.14.2/gcc_64/plugins/sqldrivers/libqsqlmysql.so
本文章记录使用Qt的编译过程.
前提1:
已经安装了mysql
sudo apt-get install mysql-server
 sudo apt-get install mysql-client
 sudo apt-get install libmysqlclient-dev
sudo apt-get install libmysqlcppconn-dev
 sudo apt-get install qtbase5-private-dev
前提2:
已经安装下载了源代码(安装Qt时选择Source)
即Qt目录下有gcc_64和Src.
2. 编译qsqlmysql
 使用root权限QtCreator打开,在终端中运行(如果qt安装在用户目录则不需要root权限):
sudo ./opt/Qt5.14.2/Tools/QtCreator/bin/qtcreator
之后在qtcreator中打开:
/opt/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers/mysql/mysql.pro
修改mysql.pro:
TARGET = qsqlmysql
  
 HEADERS += $$PWD/qsql_mysql_p.h
 SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp
  
 #修改屏蔽mysql
 #QMAKE_USE += mysql
  
 OTHER_FILES += mysql.json
  
 PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
 include(../qsqldriverbase.pri)
  
 #增加mysqlclient库
 INCLUDEPATH+=/usr/include/mysql
 LIBS+=-L/usr/lib/x86_64-linux-gnu/ -lmysqlclient
 修改qsqldriverbase.pri:
 QT  = core core-private sql-private
  
 # For QMAKE_USE in the parent projects.
 #修改屏蔽此处,增加configure.pri
 #include($$shadowed($$PWD)/qtsqldrivers-config.pri)
 include(./configure.pri)
  
 PLUGIN_TYPE = sqldrivers
 load(qt_plugin)
  
 DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
 之后运行Release,生成Makefile.
在Makefile目录下命令行执行:
make clean
make all
make install
此时就得到了文件:
/opt/Qt5.14.2/5.14.2/gcc_64/plugins/sqldrivers/libqsqlmysql.so
三、使用了openGL库问题
使用Ubuntu16.04编译QT5.7程序出现如下错误;error: GL/gl.h: No such file or directory
原因:没有安装OpenGL库文件
执行
 sudo apt-get install mesa-common-dev
 编译出现如下错误提示:
 /usr/bin/ld: cannot find -lGL
 执行下面命令解决:
 sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev









