mac QT5连接mysql出错 Qt配制数据库驱动问题

出现如下错误
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

这里写图片描述

看见这个我就不服了,又要配置一年的环境了!!!!

注意啊这个是Qt有mysql的驱动,但是不能载入( ・᷄ὢ・᷅ )

我就去Google啦(⁎⁍̴̛ᴗ⁍̴̛⁎)~然后问题完美解决(当然经历百度给的坑)

出现这个问题先去你安装Qt的驱动目录下

cd ~/Qt5.5.1/5.5/clang_64/plugins/sqldrivers

之后输入
otool -L libqsqlmysql.dylib
然后会酱紫显示
mac QT5连接mysql出错 Qt配制数据库驱动问题_第1张图片

第一行有个奇怪的文件目录“/opt/local/lib……
国内大佬给的方法是:

cp /usr/local/Cellar/mysql/5.7.12/lib/libmysqlclient.20.dylib /opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib

戳我(´;ω;`)这个Ta的方法详情的连接~

然而我使用后,终端说“( ̄▽ ̄)我找到没有这个文件!委屈憋着”(也就是Error find/opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib no such file)我也很绝望呀

之后又去编译mysql.pro 也是跪在一个问题上(我感觉( ・᷄ὢ・᷅ )应该是我安装mysql的姿势不够标准)

于是乎,我就谷歌到了酱紫的说法:
使用install_name_tool修改连接库路径

(。ì _ í。)关于更多install_name_tool的知识戳这里

sudo install_name_tool -change /usr/local/mysql/lib/libmysqlclient.20.dylib(这里是你安装的mysql的动态链接库的路径) /opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib(这里是之前我们otool -L libqsqlmysql.dylib 看到你的连接文件中诡异的文件路径)  ~/Qt5.5.1/5.5/clang_64/plugins/sqldrivers/libqsqlmysql.dylib(这个是之前你安装的qt sql驱动文件里的libqsqlmysql.dylib的路径)

这个步完成了之后
我们再

cd ~/Qt5.5.1/5.5/clang_64/plugins/sqldrivers
otool -L libqsqlmysql.dylib

可以清楚滴看见连接文件换了
mac QT5连接mysql出错 Qt配制数据库驱动问题_第2张图片

(˶‾᷄ ⁻̫ ‾᷅˵)现在问题就解决了,可以开开心心地写代码啦!

你可能感兴趣的:(QT5)