gpt4 book ai didi

c++ - 使用 MYSQL 服务器 (mingw32-make) 为 QT 构建驱动程序时出错

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:14:05 25 4
gpt4 key购买 nike

今天想请教大家一个关于构建驱动的问题。我有这样的小型 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”变量。

提前致谢!

最佳答案

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

关于c++ - 使用 MYSQL 服务器 (mingw32-make) 为 QT 构建驱动程序时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36240833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com