借鉴大佬: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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)