How to create Qt 6.5 mysql driver with cmake?
-
@JonB Done and nothing much happened.
Application Output:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMARIADB QMYSQL QODBC QPSQLCompile Output:
18:27:06: Running steps for project database...
18:27:06: Starting: "C:\Qt\6.5.1\mingw_64\bin\qmake.exe" "C:\Users\Saad\Documents\qt c++\database\database.pro" -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"
18:27:10: The process "C:\Qt\6.5.1\mingw_64\bin\qmake.exe" exited normally.
18:27:10: Starting: "C:\Qt\Tools\mingw1120_64\bin\mingw32-make.exe" -f "C:/Users/Saad/Documents/qt c++/build-database-Desktop_Qt_6_5_1_MinGW_64_bit-Debug/Makefile" qmake_all
mingw32-make: Nothing to be done for 'qmake_all'.
18:27:10: The process "C:\Qt\Tools\mingw1120_64\bin\mingw32-make.exe" exited normally.
18:27:10: Starting: "C:\Qt\Tools\mingw1120_64\bin\mingw32-make.exe" -j4
C:/Qt/Tools/mingw1120_64/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory 'C:/Users/Saad/Documents/qt c++/build-database-Desktop_Qt_6_5_1_MinGW_64_bit-Debug'
mingw32-make[1]: Nothing to be done for 'first'.
mingw32-make[1]: Leaving directory 'C:/Users/Saad/Documents/qt c++/build-database-Desktop_Qt_6_5_1_MinGW_64_bit-Debug'
18:27:11: The process "C:\Qt\Tools\mingw1120_64\bin\mingw32-make.exe" exited normally.
18:27:11: Elapsed time: 00:05. -
@Saad02
I can only say that, although you seem to have done the right thing, this is not correct output when settingQT_DEBUG_PLUGINS=1
. You can verify that by searching the hundreds of occasions it has been used in this forum's questions or on the web.Since I don't know exactly about Creator I suggest you set it in a shell and run your executable from there.
-
@Saad02 said in How to create Qt 6.5 mysql driver with cmake?:
Application Output:
There should be more output if QT_DEBUG_PLUGINS was set - is that really all you get?
-
@JonB said in How to create Qt 6.5 mysql driver with cmake?:
Since I don't know exactly about Creator I suggest you set it [
set QT_DEBUG_PLUGINS=1
] in a shell and run your executable from there.Did you try this? You have to know how to run your executable outside of Creator, else it will be useless in the the long-term, you cannot always require your code to run inside Creator!
-
@Saad02
I wish you would show a screenshot of what you do in that terminal immediately after theset QT_DEBUG_PLUGINS=1
....If you read through this forum or search the web you will find "hundreds" of occasions where people get a
QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMARIADB QMYSQL QODBC QPSQL
and they set the environment variable, run their application and get diagnostic output as to why it has failed to load
QMYSQL
driver. Not one of them has ever reported it failed to produce the diagnostic output. I find it hard to believe your case is any different..... -
@Saad02
I already suggested you run this in a terminal, not in Creator, so we can see what is going on. Repeatedly showing it is not working from your Creator isn't getting us anywhere.I don't know why you don't see the diagnostic output in Creator.
It occurs to me: when run in terminal I am not sure where you get the diagnostic output under Windows. It may not be in terminal, may have to go to some debugger. You can probably search the forum or elsewhere, I don't use Windows for Qt. Otherwise I leave someone else to suggest. -
@Saad02 could you show us some code you're running? You may edit out sensitive data like passwords etc. For example, if I remove a line like
QSqlDatabase sqlConn = QSqlDatabase::addDatabase(QStringLiteral("QMYSQL"));
then there's no QMYSQL plugin debug output despite QT_DEBUG_PLUGINS
-
@Saad02 said in How to create Qt 6.5 mysql driver with cmake?:
I have no idea about it if u r saying me to run that application directly from the terminal.
Yes, that's what he's asking for (I believe):
From a terminal window:
- go to the folder with your executable
- enter "./<your executable filename>
- hit return
- post the output
-
@Saad02
Yes, what you finally show is what we wanted to see tested.But now I don't understand. OK, it does not show the verbose diagnostic output expected from
set QT_DEBUG_PLUGINS=1
, that is "surprising". However, it does not show theQSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMARIADB QMYSQL QODBC QPSQL
from your earlier screenshot either. And I think you are saying the database driver still does not load, so you should get that at least.
I did say earlier: I am not a Windows Qt user, but
It occurs to me: when run in terminal I am not sure where you get the diagnostic output under Windows. It may not be in terminal, may have to go to some debugger. You can probably search the forum or elsewhere, I don't use Windows for Qt. Otherwise I leave someone else to suggest.
It may be that under Windows you do not get diagnostic output in the terminal when launching from there. You will have to search the forum or Google for this, or wait for someone else to comment.
-
@JonB Ok, I understand!
it is not visible in the terminal- "QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMARIADB QMYSQL QODBC QPSQL" but I can see it in Qt creator?
Should I wait any longer or shift to qt 5 as it uses qmake and has an easier process to create a MySQL driver for qt?