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
看见这个我就不服了,又要配置一年的环境了!!!!
注意啊这个是Qt有mysql的驱动,但是不能载入( ・᷄ὢ・᷅ )
我就去Google啦(⁎⁍̴̛ᴗ⁍̴̛⁎)~然后问题完美解决(当然经历百度给的坑)
出现这个问题先去你安装Qt的驱动目录下
cd ~/Qt5.5.1/5.5/clang_64/plugins/sqldrivers
之后输入 otool -L libqsqlmysql.dylib
然后会酱紫显示
第一行有个奇怪的文件目录“/opt/local/lib……
国内大佬给的方法是:
cp /usr/local/Cellar/mysql/5.7.12/lib/libmysqlclient.20.dylib /opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib
然而我使用后,终端说“( ̄▽ ̄)我找到没有这个文件!委屈憋着”(也就是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
可以清楚滴看见连接文件换了
(˶‾᷄ ⁻̫ ‾᷅˵)现在问题就解决了,可以开开心心地写代码啦!