红联Linux门户
Linux帮助

Ubuntu,QT5连接MySQL

发布时间:2016-01-15 22:00:48来源:linux网站作者:Fahy

用QT连接MySQL需要共享库 libqsqlmysql.so的驱动,路径在plugin/sqldrivers目录下,乍看已经可用了,其实不然。

用ldd命令分析一下,libmysqlclient_r.so.* => not found ,后明显libmysqlclient_r.so.* 缺少另一个共享库,他们是依赖关系,解决了这个问题QT才能真的连接到MySQL数据库。而我的/usr/lib64/下的共享库版本比较高是 libmysqlclient.so.18,想到了一个比较投机的想法ln创建符号链接,然而这并没有什么卵用。


PS:ldd:linux下分析打印可执行档依赖的共享库文件。

让我哭笑不得是QT5.5是我从官网下载的,居然依赖的是低版本,你们编译的时候能不能不偷懒啊,估计他们直接从低版本拷贝的libqsqlmysql.so,没办法了吗?显然不是,打开qt官网下载源码,自己编译。下载过程略过,非常好找 http://download.qt.io/official_releases/qt/5.5/5.5.1/submodules/ (暂时没有qt5.5的源码),找到qtbase那个大概60M。MySql驱动的路径为qtbase/src/plugins/sqldrivers/mysql/。


qmake "INCLUDEPATH+=/usr/include" "LIBS+=-L/usr/lib -lmysqlclient_r" mysql.pro

(include为头文件“mysql.h”的位置,可用“ sudo find -name "mysql.h" ”找找看,lib为共享库到位置)

make
sudo make install


PS:如果没有没找到“mysql.h”文件,需要安装“mysql-libmysqlclient-dev”

sudo apt-get install libmysqlclient-dev

在QT的帮助手册中输入“SQL Database Drivers”,可查看其他数据库到连接方式

这样就能连接MySQL数据库了。


3种PHP连接MYSQL数据库的常用方法:http://www.linuxdiyf.com/linux/13879.html

Ununtu 15.04安装MySql(Django连接Mysql):http://www.linuxdiyf.com/linux/13783.html

ubuntu15.04 qt5.4.2连接mysql:http://www.linuxdiyf.com/linux/13054.html

Ubuntu下用C连接MySQL数据库:http://www.linuxdiyf.com/linux/3754.html

Linux Java连接MySQL数据库:http://www.linuxdiyf.com/linux/5724.html