「Qt」 mac环境配置qt的mysql驱动

「Qt」 mac环境配置qt的mysql驱动,第1张

Qt项目里用到了mysql,运行后报错:

查阅资料知道需要配置mysql驱动,本以为几分钟解决的事情,没想到开启了恶魔经历,整整两天时间,mmp!

Stop! 废话别说啦,入正题:

首先,Qt &mysql的安装和环境配置就略了,一搜一大把。

不过注意两点:

先进入到/Users/ing/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers目录下,执行

这里确保qmake用的qt里的就行

其实你可以配置下qt相关的环境变量,在bash_profile里添加:

然后,source ~/.bash_profile ,还有别忘了 source ~/.zshrc

执行成功的话会输出:

根据提示 依次执行:

make sub-mysql

make

make install

进入/Users/ing/Qt5.14.2/5.14.2/clang_64/plugins/sqldrivers下执行,查看链接库:

输出:

此时,运行qt程序 依旧报错。

根据查阅的资料,问题出在

网友们所说的“诡异”的路径那一行(你的输出可能和我的不一样的,但问题应该一样) ,也就是有 libmysqlclient.21.dylib 这行。

另外查了下 @repath 的含义 意思是说 不能明确的指向。。。所以 这里就需要将libmysqlclient.21.dylib 指向扳到正确的道路。

方法就是利用 install_name_tool -change

执行

这里一定要注意顺序,刚开始我就是顺序搞错了,死活就是不行,最后跑到官方论坛里用蹩脚的英语发帖求教也无果,最后还是一遍的重试,一遍的检查才发现的。一天就这么浪费了。

此刻在运行qt程序 ,就不会再报上面的错误了。

撒花,礼花搞起~~~

一、安装MySQL和Qt

mysql-5.5.13-win32下载地址:http://download.csdn.net/detail/hongwazi_2010/7341065

mysql安装过程:http://wenku.baidu.com/view/e7dc3b23aaea998fcc220e04.html

安装mysql我们只需要他的include和lib文件夹即可

二、编译mysql驱动

打开qt目录D:\Qt\4.8.5\plugins\sqldrivers,里面包含了qt支持的数据库驱动,包括sqlite和odbc两种,默认不支持mysql的,为了支持mysql我们可以进入D:\Qt\4.8.5\src\plugins\sqldrivers\mysql目录编译mysql.pro。编译步骤如下:

第一、通过“开始”菜单打开Qt 4.8.5 Command Prompt环境,其结果如下:

第二、修改mysql.pro文件,在第二行添加如下内容(路径不能有空格)

INCLUDEPATH += "D:\mysql\include"

LIBS+= "D:\mysql\lib\libmysql.lib"

进入到mysql.pro工程目录,再配置

cd D:\Qt\4.8.5\src\plugins\sqldrivers\mysql

qmake mysql.pro

方法/步骤

1

下载mysql C链接库

选择C的链接库

2

将C的连接库解压到到C:/mysql 目录下

3

我的QT 安装在C盘目录下,版本号是4.8.6 所以打开目录

C:\QT\4.8.6\src\plugins\sqldrivers\mysql

4

将C:/mysql/lib/libmysql.dll 和C:/mysql/lib/libmysql.lib

复制到此处。

5

编辑目录下的mysql.pro文件

添加

INCLUDEPATH+="C:/mysql/include"

LIBS+="C:/mysql/lib/opt/libmysql.lib"

运行qt的控制台窗口,方便使用qmake

切换到目录下

C:\QT\4.8.6\src\plugins\sqldrivers\mysql

执行qmake

运行VS2010的控制台工具

切换到

C:\QT\4.8.6\src\plugins\sqldrivers\mysql 目录下

执行nmake 和nmake release

是nmake不是make

这样在C:\QT\4.8.6\src\plugins\sqldrivers\mysql 目录下的debug 目录和release 目录下分别会产生

qsqlmysqld4.dll qsqlmysqld4.lib

qsqlmysql4.dll qsqlmysql4.lib

将上面提到的四个文件复制到

C:\QT\4.8.6\plugins\sqldrivers

最后把

C:\mysql\lib\opt\libmysql.dll

C:\mysql\lib\opt\libmysql.lib

复制到

C:\Windows\system32\ 目录下。

最后测试mysql 可不可以在qt中正常使用

新建一个qt 控制台项目

输入以下代码

#include <QCoreApplication>

#include <QDebug>

#include <qstring.h>

#include <qstringlist.h>

#include <qsql.h>

#include <qsqldatabase.h>int main(int argc, char *argv[])

{

QCoreApplication a(argc, argv)

qDebug() <<"Available drivers:"

QStringList drivers = QSqlDatabase::drivers()qDebug() <<driversreturn a.exec()

}

运行测试一下,看看有没有图片中红圈圈中的两项内容


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11965868.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存