【问题标题】:Error building drivers for QT using MYSQL server (mingw32-make)使用 MYSQL 服务器 (mingw32-make) 为 QT 构建驱动程序时出错
【发布时间】:2016-03-26 21:00:02
【问题描述】:

今天,我想问你一个关于构建驱动程序的问题。我有这样的小型 QT 数据库:

mainDB = QSqlDatabase::addDatabase("QMYSQL");
mainDB.setHostName("127.0.0.1");
mainDB.setPort(3306);
mainDB.setDatabaseName("Database_Name");
mainDB.setUserName("root"); //create editors account later
mainDB.setPassword("Password"); //so on :)
if(mainDB.open())
    qDebug() << "mainDB is open";
else
    qDebug() << "mainDB error";

但是,然后我尝试编译它,我收到一个错误:

QSqlDatabase: QMYSQL driver not loaded             
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7

我用谷歌搜索了一下这个东西,并意识到我还没有使用 MySQL 为 QT 构建驱动程序。所以,我在我的 cmd 中输入了这个:

C:\Qt\5.6\Src\qtbase\src\plugins\sqldrivers\mysql>qmake "INCLUDEPATH += C:\Program Files\MySQL\MySQL Server 5.7\include" "LIBS+=C:\Program Files\MySQL\MySQL Server 5.7\lib\libmysql.lib" mysql.pro

(在 includepath 中,我使用了 MySQL 服务器中所有包含的路径(例如,一百个 h. 文件),在 LIBS 中,我使用了 libmysql 文件的路径)。它编译得很好,我输入了

mingw32-make

完成我的构建。但是它捕获了一个错误:

    In file included from main.cpp:36:0:
    ../../../sql/drivers/mysql/qsql_mysql_p.h:55:19: fatal error: mysql.h: No
   such file or directory
 #include <mysql.h>
                   ^
compilation terminated.
Makefile.Release:466: recipe for target '.obj/release/main.o' failed
mingw32-make[1]: *** [.obj/release/main.o] Error 1
mingw32-make[1]: Leaving directory 'C:/Qt/5.6/Src/qtbase/src/plugins/sqldrivers/
mysql'
makefile:38: recipe for target 'release-all' failed
mingw32-make: *** [release-all] Error 2

结果,我的 C:\Qt\5.6\Src\qtbase\plugins\sqldrivers 是空的。

所以,我想知道,如何解决?

而且,是的,我确实包含了 C:\Qt\5.6\mingw49_32\bin;C:\Qt\Tools\mingw492_32\bin;系统中的目录作为“PATH”变量。

提前谢谢你!

【问题讨论】:

    标签: c++ mysql qt


    【解决方案1】:

    当您在 Windows 上运行时,您必须安装 MySQL C client(这是 mysql.h 文件的来源)。

    【讨论】:

    • 好吧,我正在使用它,我已经安装了所有可用的选项(包括连接器/工作台/e.t.c)。问题是——我确实在 MySQL Server 5.7\include 目录中看到了 mysql.h 文件——但是,mingw 没有……或者我只是不理解你,你在谈论不同的东西?
    • 也许您缺少包含环境变量,请在此处查看教程:seppemagiels.com/blog/create-mysql-driver-qt5-windows
    • 这里有同样的错误。也许下载别人的mysql.h文件会更好?我不知道为什么它不想被看到。 (我也会尝试更改我的 mysql\qt 版本)
    • 您能添加您的 .pro 吗?
    • dropmefiles.com/fnSAL 假设你想要我项目的 .pro 并且,如果 mysql.pro -> dropmefiles.com/6lGcZ
    猜你喜欢
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-22
    • 1970-01-01
    相关资源
    最近更新 更多