这个问题困扰了我太久,就因为我和网上大多数情况都不一样!???
我用的是Qt5.14.2版本,所以下面介绍的都是新版本下解决方法
-
首先进入文件夹
/Users/yucheng/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers/
如果文件夹内没有libqsqlmysql.dylib
,那么继续进入plugins/sqldrivers/
寻找,如果还是没有,你还是全局搜索吧。如果搜不到那肯定是没有完成链接配置了,具体参考https://blog.youkuaiyun.com/yc__coder/article/details/106950839 -
找到文件后打开终端,cd到上述目录下
执行otool -L libqsqlmysql.dylib
,查看链接。
如果你找到
@rpath/libmysqlclient.21.dylib (compatibility version 20.0.0, current version 20.0.0)
这条链接的话,那肯定就是路径错了,因为rpath的默认路径是/Users/yucheng/Qt5.14.2/5.14.2/clang_64/lib/
,我们希望目的链接在/usr/local/mysql/lib/
我们可以重新链接,执行
sudo ln -s /usr/local/mysql/lib/libmysqlclient.21.dylib /Users/yucheng/Qt5.14.2/5.14.2/clang_64/lib/libmysqlclient.21.dylib
libmysqlclient.21.dylib是安装sql后建立的。你可以cd到目录下看看有没有,以及版本号,写错了是执行不了的哦
成功后再次执行otool -L libqsqlmysql.dylib
就会发现原来的链接变了。
这时候Qt就可以使用mysql了!