文档章节

Mac Windows Qt5.4.x加载QMYSQL出错的原因

C
 C狸扣豆
发布于 2015/06/15 23:32
字数 364
阅读 29
收藏 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目录下即可。

© 著作权归作者所有

共有 人打赏支持
C
粉丝 0
博文 24
码字总数 9890
作品 0
马鞍山
私信 提问
在mac下使用qt5连接mysql5.7

最近在mac下有项目需要用到qt 连接mysql,源代码如下 #include "mainwindow.h" include "ui_mainwindow.h" include <QtSql> MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent)......

乾中
2016/04/26
896
0
抓狂!QT5.5连接mysql数据库问题

先上代码: QSqlDatabase data_base = QSqlDatabase::addDatabase("QMYSQL"); data_base.setHostName("10.18.96.31"); //设置主机地址 data_base.setPort(3306); //设置端口 data_base.setD......

鸣泽晨
2015/07/07
7.3K
9
运维调试记录:QSqlDatabase: QMYSQL driver not loaded

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaobryant/article/details/42971003 在Qt 5.3中使用数据库连接时,弹出下面的错误: 从上面的错误可以看出,...

adoryn
2015/01/21
0
0
windows系统下解决Qt连接MySQL数据库时出现的问题:QMYSQL driver not loaded

在学习Qt的过程中,遇到了无法连接数据库的情况: 控制台的输出为: 如上所示,MySQL driver是存在的,但是仍然提示错误:QMYSQL driver not loaded。 原因是程序中缺少libmysql.dll。 这个动...

大道无名
2016/08/04
394
0
【VMware虚拟化解决方案】用VMware Fusion来“穿越”

用VMware Fusion来“穿越” 一. 背景介绍 曾经听到过这样一个比喻,说的是在企业里,喜欢用Windows操作系统的是普通型员工;喜欢用Linux操作系统的是宅男型员工;而喜欢用MacOS操作系统的是文...

chenjunjulian
2014/05/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot中使用@RequestBody时如何自定义需要转换的日期格式

SpringBoot序列化和反序列化Json时默认使用的是Jackson(例如使用@RequestBody反序列化前端传递过来的Json字符串时), 当我们前端使用Json字符串传递到后台时日期格式可能是时间戳(即long类...

帅得拖网速
35分钟前
0
0
可自定义扩展底部列表对话框ListBottomSheetDialogFragment

因为需要,为了方便,构建了一个可以自定义扩展的底部列表对话框,可以应付大部分场景。 效果图如下: 1.默认实现: 2.自定义列表实现 3.自定义头部和列表实现 一.可实现功能 1.默认可实现通...

明月春秋
今天
1
0
数据库---增删改查

增:insert into 表名(列名1,列名2) values(‘列值1’,‘列值2’) 多行数据处理:insert into 表名(列名1,列名2) select ‘列值1’,‘列值2’ union select ‘列值1.1’,‘列值2.2...

森林之下
今天
2
0
分布式/集群下session共享方案汇总

除去那些对容器依赖特别高的方案(如: 基于Tomcat的memcached-session-manager / tomcat-redis-session-manager,基于Jetty的jetty-nosql-memcache / jetty-session-redis ),自己整理了下...

哥本哈根的小哥
今天
2
0
Vue中的缩写:v-bind、v-on

v-bind 缩写:: 预期:any (with argument) | Object (without argument) 参数:attrOrProp (optional) 修饰符: .prop - 被用于绑定 DOM 属性。 .camel - (2.1.0+) 将 kebab-case 特性名转换......

文文1
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部