【问题标题】:Qt MySQL -------- Cannot open include file: 'mysql.h':Qt MySQL -------- 无法打开包含文件:'mysql.h':
【发布时间】:2013-04-10 16:03:29
【问题描述】:

我在 Qt 中制作一个 GUI 应用程序,它基本上是数据库的前端

但是我什至还没有到做任何事情的地步,因为我的数据库连接一直失败(嗯,它实际上并没有编译,所以它不是数据库连接问题)

无论如何,我的项目甚至无法构建,因为 Qt 给出了错误:

 error: C1083: Cannot open include file: 'mysql.h': No such file or directory

我不是特别明白,因为在使用 QtSQL 的课程中​​我已经包含了:

#include <QtSql/QSqlDatabase>
#include <QtSql/QMYSQLDriver>

现在有点把我的头撞在桌子上,因为我从文档中了解到,这两个包含的就是你所需要的,哦,这在我的 .pro 中

QT       += sql

我在这里遗漏了一些非常明显的东西吗?

干杯

【问题讨论】:

  • 您似乎缺少 mysql 标头。您使用哪种操作系统?
  • Windows 7 Professional,我在 Qt 目录中查看是否可以找到它们,C:\Qt\Qt5.0.1\5.0.1\msvc2010\include\QtSql 包含所有qsql_mysql.h 等,但实际上找不到 mysql.h 但肯定是在我安装 Qt 时放在某个地方吧?
  • 不,它们不是与 Qt 一起分发的。请参阅 Amartel 的回答...
  • 是的,刚刚看到它,似乎它的解决方案 iv 一直在寻找帮助人们的欢呼!
  • 但我认为文档中根本没有提到这种事情有点奇怪...... -.-

标签: mysql sql qt qtsql


【解决方案1】:

您实际上不需要包含QMYSQLDriver。您真正需要的是构建 mysql 驱动程序。这是manual, which tells you how to do it

【讨论】:

  • 哦,当它没有被包含时它编译得很好但是当我尝试连接它时输出MYSQL driver not loaded, QSqlDatabase: available drivers: QSQLITE所以基本上这意味着QSQL light是安装Qt时唯一自动加载的SQL驱动程序,在那种情况下,构建驱动程序会解决问题吗?
  • 是的。 Qt 使用基于插件的系统直接连接到不同的数据库,使用单一前端。您只需要构建具体的驱动程序,将其放在plugins/sqldrivers 目录中,并确保它可以访问所有依赖项(在您的情况下,它是 mysql 的客户端库)。
猜你喜欢
  • 2019-10-28
  • 2013-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多