欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-28 11:54:41
...

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

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

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

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

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

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

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

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

第一行有个奇怪的文件目录“/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配制数据库驱动问题

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