簡體   English   中英

使用 MYSQL 服務器 (mingw32-make) 為 QT 構建驅動程序時出錯

[英]Error building drivers for QT using MYSQL server (mingw32-make)

今天,我想問你一個關於構建驅動程序的問題。 我有這樣的小 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

(在包含路徑中,我使用了 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; dirs 在系統中作為“PATH”變量。

先感謝您!

當您在 Windows 上運行時,您必須安裝MySQL C 客戶端(這是mysql.h文件的來源)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM