导读
qt5.15.2不管在哪个操作系统下都是不自带mysql驱动的,想在ubuntu的qt下使用mysql,必须手动编译,才能使用,不过相对于windows来说,linux 比较方便。
编译
- 下载mysql
(已安装请忽略)
下载链接:mysql下载,下载如下版本
- 安装mysql
- 输入如下命令, 为后面下载mysql配置一些版本,
记得勾选8.0版本的,不然后面安装可能出现意外
sudo dpkg -i mysql-apt-config_0.8.22-1_all.deb
- 下面开始安装mysql8.0和workbench,执行如下命令
sudo apt-get install mysql-server mysql-workbench libmysqlclient-dev
如果你的mysql-workbench找不到下载源,可以直接去官网下载手动安装即可
workbench下载链接:workbench下载
下载完之后找到这个安装包手动点击安装即可:
下面打开workbench,连接mysql:
出现如上界面说明安装成功了。
3. qt环境准备
首先需要qt的源码包,我使用的qt在线安装工具下载
qt在线安装工具地址:Qt在线安装器
随后在终端运行.run
文件即可
注意:如果运行失败,可能是没有权限,使用如下命令修改权限:
sudo chmod a+x qt-unified-linux-x64-online.run
在运行即可,也即:./qt-unified-linux-x64-online.run
注意如果运行上述命令出现error while loading shared libraries: libxcb-xinerama.so.0: cannot open...
是因为libxcb-xinerama
这个库没有,安装这个库就行了,执行如下命令:
sudo apt-get install libxcb-xinerama0
这个库装完后,发现可以运行./qt-unified-linux-x64-online.run
运行之后记得配置仓库源,不然会下载很慢,根据上述步骤依次操作完之后,点击Test按钮进行测试,出现successful即成功了。
下面正常依次Next即可。
上面两项必选,第一项是编译器,第二是源码部分。
后面安装即可,时间可能会有点长~
安装完之后,配置qt的环境变量,以至于qmake能正常使用(编译时要用到)
输入如下命令:
sudo vim /etc/profile
添加如下代码,注意路径换成自己,最后保存退出,执行source /etc/profile
,这样环境变量就完成了。
4. 开始编译mysql驱动 (下面路径都换成自己的)
进入qt数据库驱动源码目录
cd /home/liucan/Qt/5.15.2/Src/qtbase/src/plugin/sqldrivers
执行如下命令:
/home/Qt/liucan/Qt/gcc_64/bin/qmake
出现如下信息,说明编译成功
接下来就是执行:make
和make install
,完了之后没有出现报错信息的的话,说明mysql驱动编译完成。
可以在这个目录上看到mysql库已经在这个库了
接下来可以自己打开qtcreator测试一下~~~
5. 可能出现的错误
注意,可能有人执行/home/Qt/liucan/Qt/gcc_64/bin/qmake
没有出现如上所述的信息,原因我暂且不太清楚,可能是你的mysql环境安装存在问题。下面通过另外一个方法解决
- 进入
cd /home/liucan/Qt/5.15.2/Src/qtbase/src/plugin/sqldrivers/mysql
,修改mysql.PRO文件,注释掉一行
执行如下命令:(注意路径换成自己的mysql路径),如qmake命令未找到记得配置环境变量。
qmake "INCLUDEPATH=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient" mysql.pro
执行完成之后:继续make
和make install
没报错,说明编译成功~~~
可以在/home/liucan/Qt/5.15.2/Src/qtbase/src/plugin/sqldrivers/plugin/sqldrivers/
查看编译出来的mysql驱动。
接下来可以自己打开qtcreator测试一下~~~
以上两种方法均可,以上就是我编译的过程,希望能帮助到有这方面需要的朋友~