Mac Windows Qt5.4.x加载QMYSQL出错的原因
Mac Windows Qt5.4.x加载QMYSQL出错的原因
C狸扣豆 发表于2年前
Mac Windows Qt5.4.x加载QMYSQL出错的原因
  • 发表于 2年前
  • 阅读 24
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

Qt5.4自带mysql驱动,该驱动负责与mysql的动态库打交道。但是用Mac装Qt5.4编译出现mysql驱动未加载,其实原因是:mysql的驱动链接库没有放到该放的位置。

解决办法:1(此借助网上博文,建议用第二种)

loader.setFileName("/Users/Biao/Qt5.4.0/5.4/clang_64/plugins/sqldrivers/libqsqlmysql.dylib");
    qDebug() << loader.load();
    qDebug() << loader.errorString();
上方为加载绝对路径(缺点:如果安装的路径不一样,这个是加载不起来的,主要原因并不是加载路径的问题)
false
Cannot load library /Users/Biao/Qt5.4.0/5.4/clang64/plugins/sqldrivers/libqsqlmysql.dylib:
(dlopen(/Users/Biao/Qt5.4.0/5.4/clang64/plugins/sqldrivers/libqsqlmysql.dylib, 5): Library not loaded: /opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib
Referenced from: /Users/Biao/Qt5.4.0/5.4/clang_64/plugins/sqldrivers/libqsqlmysql.dylib
Reason: image not found)

意思就是建立个文件夹并把mysql驱动放进去,如:/opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib。注:该动态库位于安装mysql的库文件夹内:可能是:/usr/local/mysql/libmysqlclient.18.dylib

库查找顺序为:系统路径-》qt默认的路径(此为/opt/...)所以第二种方法就是把库加到系统库路径下。也可用export命令

2:sudo cp /usr/local/mysql/libmysqlclient.18.dylib /usr/lib/

其实就是这个mysql动态库的问题,qt给的提示其实是误导人的,其实那个mysql驱动是正常的。

Windows一样的道理,需要把mysql安装目录下lib下libmysql.dll复制到c:/windows目录下即可。

共有 人打赏支持
粉丝 0
博文 22
码字总数 9890
×
C狸扣豆
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: