借鉴大佬:/sinat_33896833/article/details/107357529
/qq_29912325/article/details/123066776
/
一、准备环境:
Linux Qt下载地址:/archive/qt/
1.安装Qt
下拉找到Qt 5.14.2,下载。
需要注册账号Qt账号,注册的账号在安装的时候会用到
下载qt-opensource-linux-x64-5.14.文件
打开命令行终端(快捷键ctrl+alt+t),chmod 777 qt-opensource-linux-x64-5.14.,赋予执行权限
然后执行./qt-opensource-linux-x86-5.14.命令进行安装,需要安装的组件全选
安装完成之后即可在安装路径下看到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/
本文章记录使用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/
修改:
TARGET = qsqlmysql
HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/
#修改屏蔽mysql
#QMAKE_USE += mysql
OTHER_FILES +=
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../)
#增加mysqlclient库
INCLUDEPATH+=/usr/include/mysql
LIBS+=-L/usr/lib/x86_64-linux-gnu/ -lmysqlclient
修改:
QT = core core-private sql-private
# For QMAKE_USE in the parent projects.
#修改屏蔽此处,增加
#include($$shadowed($$PWD)/)
include(./)
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/
三、使用了openGL库问题
使用Ubuntu16.04编译QT5.7程序出现如下错误;error: GL/: 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