QMYSQL driver not found Qt 6.5.1, I've tried all I found online, without success
-
You see where Qt is searching for plugins so put the compiled mysql plugin to this folder and see what happens... really that hard?
-
@cpplegend
I am not an expert in this area, but just by looking at the output it shows you I would think you may have 2 areas to address:- You can see it is looking for plugins in directory
C:/Qt/6.5.1/msvc2019_64/plugins/sqldrivers
. You say you have copied files to directoryC:\Users\ianno\OneDrive\Desktop\QTProjects\PROVE\imageDB_provaDiConnessione\x64\Debug\sqldrivers
. How do you expect Qt program to know you have put files there? @Christian-Ehrlicher wrote
it was build but not copied to the sqldriver plugin directory
- You seem to have built a debug version of the plugin library. I would assume the others were built for release, and you may need to do the same.
- You can see it is looking for plugins in directory
-
This post is deleted!
-
@JonB I tried and it didn't work, as you can see it says: qt.core.plugin.factoryloader: Got keys from plugin meta data QList("QPSQL")
qt.core.plugin.factoryloader: checking directory path "C:/Users/ianno/OneDrive/Desktop/QTProjects/PROVE/imageDB_provaDiConnessione/x64/Debug/sqldrivers" ...
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QPSQLthen I tried to put the plugins into this folder and it said that those are incompatible...
-
@cpplegend said in QMYSQL driver not found Qt 6.5.1, I've tried all I found online, without success:
it said that those are incompatible...
Did you do anything about my suggestion that a Debug version of the DLL may not be acceptable/loadable and you should try a Release version?
Otherwise you might copy & paste the actual message rather than telling us "it said that those are incompatible...".
-
@cpplegend
Some things you are really supposed to figure for yourself. Or if necessary look up in Help. In Creator you choose which configuration to build. You apparently currently have it on "Debug". You should change that to "Release" and rebuild. Note that the resulting DLL will no longer be in the.../x64/Debug/sqldrivers
directory used when building for debug, if you need to copy the built file(s) you will need to copy from the new location. -
@cpplegend on the one hand you have posted a list of plugins plugins that clearly are in MinGW format (telling from .debug file extension), but on the other hand you posted paths containing msvc2019_64. You need to use the correct plugins for the compiler you use
-
@JonB @thecodemonkey I really feel so stupid when you talk you obviously know more on this topic than me, please could you explain what I have to do because I am not understanding anything. what should I do now? should I download any other file? I am really sick of this plugin but I need to understand... I know I am boring, I always say the same thing, but it's because I don't understand, it's so difficult..if it is just coding I learn pretty fast, but these things are new to me
-
@cpplegend you can use different C++ compilers with Qt. On Windows by default these are Microsoft Visual C++ or MinGW. During Installation in Qt maintenance tool you choose if you install the Qt version for MSVC or for MinGW (or both):
.
If you are a beginner, I recommend to install only one of them to avoid confusion. In Qt Creator under "Projects" you should be able to see, which Qt version is used for the current project:
depending on that, you need to copy the correct qsqlmysql.dll (plus libmysql.dll):
If it's MSVC2019 then for example copy the files from https://github.com/thecodemonkey86/qt_mysql_driver/files/11768056/qsqlmysql.dll_Qt_SQL_driver_6.5.1_MSVC2019_64-bit.zip,
if MinGW then the files from https://github.com/thecodemonkey86/qt_mysql_driver/files/11768059/qsqlmysql.dll_Qt_SQL_driver_6.5.1_MinGW_11.2.0_64-bit.zip
to sqldrivers folder and application folder respectively
-
@thecodemonkey sqldrivers from plugin folder in src from qtbase folder, right? and then as you Said the Application folder of the Project I am creating, is it right?
-
@cpplegend by application folder I mean the folder, where the compiler creates the .exe file of your project, like this:
the sqldrivers folder can be either a subdirectory of the application folder (like this:
) ,or in the installation binary folder of Qt. On my system that would be for
MSVC: C:\Qt\6.5.1\msvc2019_64\plugins\sqldrivers (and for MinGW: C:\Qt\6.5.1\mingw_64\plugins\sqldrivers)both options (application folder and installation folder) should work
-
@thecodemonkey ok when I return home I will try
-
@thecodemonkey now when I include the QSqlDatabase header file these errors occures: :-1: error: CMakeFiles/untitled1.dir/widget.cpp.obj:widget.cpp:(.text+0x3b): undefined reference to
__imp__ZN12QSqlDatabaseD1Ev' :-1: error: CMakeFiles/untitled1.dir/widget.cpp.obj:widget.cpp:(.text+0x8b): undefined reference to
__imp__ZN12QSqlDatabaseD1Ev'
:-1: error: CMakeFiles/untitled1.dir/widget.cpp.obj:widget.cpp:(.text+0xef): undefined reference to__imp__ZN12QSqlDatabaseD1Ev' :-1: error: CMakeFiles/untitled1.dir/widget.cpp.obj:widget.cpp:(.text+0x14f): undefined reference to
__imp__ZN12QSqlDatabaseD1Ev'
:-1: error: CMakeFiles/untitled1.dir/widget.cpp.obj:widget.cpp:(.text+0x1a9): undefined reference to__imp__ZN12QSqlDatabaseC1Ev' :-1: error: CMakeFiles/untitled1.dir/widget.cpp.obj:widget.cpp:(.text+0x1ee): undefined reference to
__imp__ZN12QSqlDatabaseD1Ev'
:-1: error: collect2.exe: error: ld returned 1 exit status
:-1: error: ninja: build stopped: subcommand failed. -
@cpplegend Did you link the Sql module in CMakeLists ?
-
@cpplegend
If I am not mistaken::-1: error: CMakeFiles/untitled1.dir/widget.cpp.obj:widget.cpp:(.text+0x3b): undefined reference to __imp__ZN12QSqlDatabaseD1Ev'
widget.cpp.obj
indicates this has been compiled with MSVC (MSVC does.obj
files, MinGW does.o
) and__imp__ZN12QSqlDatabaseD1Ev
leading__imp_
also indicates MSVC rather than MinGW. [Also if you really have a file namedwidget.cpp.obj
somewhere per the error message that is wrong, MSVC should be generatingwidget.obj
fromwidget.cpp
, but that's another matter.]:-1: error: collect2.exe: error: ld returned 1 exit status
collect2
/ld
indicates MinGW linker.(Assuming I am right) You really need to sort out whether you are using MSVC or MinGW once and for all, and make it consistent....
-
@cpplegend Then what about as @thecodemonkey said?
-
@thecodemonkey @JonB how do I make it?