mac 安装QT5.9.1 MYSQL

来源:互联网 发布:淘宝韩版男装店铺 编辑:IT博客网 时间:2020/02/23 12:04

mac 安装qt使用mysql有报错:QSqlDatabase: QMYSQL driver not loaded。

使用sqlite没问题。

网上许多方法都不管用,最后找到一篇mac qt mysql

1.我的qt路径在

/Applications/QT5.9.1/5.9.1/clang_64/plugins/sqldrivers,这是sql驱动的位置,有mysql驱动但是不管用。

我/usr/local有两个mysql,/usr/local/mysql-5.7.17-macos10.12-x86_64是我使用mysql安装包新安装的mysql,之前我使用mamp过内部包含mysql。

下面是我操作的流程,


wodeqiuuledeMBP:sqldrivers shangning$ otool -L libqsqlmysql.dylib

libqsqlmysql.dylib:

libqsqlmysql.dylib (compatibility version 0.0.0, current version 0.0.0)

@rpath/QtSql.framework/Versions/5/QtSql (compatibility version 5.9.0, current version 5.9.1)

@rpath/QtCore.framework/Versions/5/QtCore (compatibility version 5.9.0, current version 5.9.1)

/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration (compatibility version 1.0.0, current version 1.0.0)

/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)

/opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib (compatibility version 18.0.0, current version 18.0.0)

/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.1.0)

/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)

wodeqiuuledeMBP:sqldrivers shangning$ install_name_tool -change /opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib /usr/local/mysql-5.7.17-macos10.12-x86_64/lib/libmysqlclient.20.dylib libqsqlmysql.dylib


解析:使用otool -L libqsqlmysql.dylib,查找依赖库,发现使用的是/opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib,而我打开的数据库是/usr/local/mysql-5.7.17-macos10.12-x86_64/lib/libmysqlclient.20.dylib,针对我使用的数据库,使用install_name_tool,更换里面的链接库。

命令:install_name_tool -change /opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib /usr/local/mysql-5.7.17-macos10.12-x86_64/lib/libmysqlclient.20.dylib libqsqlmysql.dylib


心得:很多问题还是要从底层解决,刚开始懒选择更换库试试,完全没有效果,网络上也没有合适的教程,上面网页的也是国外网友提供的方法。

qt sqldriver根据mysql版本也是不同的。





原创粉丝点击