Cannot mix incompatible Qt library
-
@Tamfub said in Cannot mix incompatible Qt library:
If I don't include this, I get this while running my program in Qt:
You're aware that some compiler options and loading a plugin has nothing to do with each other? It's not needed. The only thing you need is (as I already told you) that the program finds the dependencies for your plugin, for instance the mysql dll (search the forum)
-
@Tamfub said in Cannot mix incompatible Qt library:
If I don't include this, I get this while running my program in Qt:
You're aware that some compiler options and loading a plugin has nothing to do with each other? It's not needed. The only thing you need is (as I already told you) that the program finds the dependencies for your plugin, for instance the mysql dll (search the forum)
@Christian-Ehrlicher
After a long time I managed to analyze the .exe on Dependency Walker, and I got this in the log window:LoadLibraryW("C:\qt\projects\tutorial\progettomalnati\sharedtexteditor\build-progettomalnati_srv_2-desktop_qt_5_15_1_mingw_64_bit-release\release\sqldrivers\qsqlmysql.dll") called from "QT5CORE.DLL" at address 0x0000000068A61823. Loaded "QSQLMYSQL.DLL" at address 0x000000006C5C0000. Successfully hooked module. Unloaded "QSQLMYSQL.DLL" at address 0x000000006C5C0000. LoadLibraryW("C:\qt\projects\tutorial\progettomalnati\sharedtexteditor\build-progettomalnati_srv_2-desktop_qt_5_15_1_mingw_64_bit-release\release\sqldrivers\qsqlmysql.dll") returned NULL. Error: Impossibile trovare il modulo specificato (126). QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMARIADB QMYSQL QMYSQL3 QODBC QODBC3 Errore nel collegamento al DB "Driver not loaded Driver not loaded"
But this file is in the folder!
-
@Tamfub said in Cannot mix incompatible Qt library:
But this file is in the folder!
I know, but you don't read what I tell you (already two times) - the plugins has some dependencies to other libraries which must be available... !
-
@Tamfub said in Cannot mix incompatible Qt library:
But this file is in the folder!
I know, but you don't read what I tell you (already two times) - the plugins has some dependencies to other libraries which must be available... !
@Christian-Ehrlicher I actually read what you wrote. But I don't get which libraries must be available, then. Maybe I'm missing a LIBS directive in the .pro file?
-
@Tamfub said in Cannot mix incompatible Qt library:
If I don't include this, I get this while running my program in Qt:
You're aware that some compiler options and loading a plugin has nothing to do with each other? It's not needed. The only thing you need is (as I already told you) that the program finds the dependencies for your plugin, for instance the mysql dll (search the forum)
@Christian-Ehrlicher said in Cannot mix incompatible Qt library:
. The only thing you need is (as I already told you) that the program finds the dependencies for your plugin, for instance the mysql dll (search the forum)
...
-
@Christian-Ehrlicher said in Cannot mix incompatible Qt library:
. The only thing you need is (as I already told you) that the program finds the dependencies for your plugin, for instance the mysql dll (search the forum)
...
Hi.
@JKSH said in Cannot mix incompatible Qt library:
I just noticed something else: It looks like you are using 64-bit Qt and 64-bit MinGW. Therefore, you must also use the 64-bit MySQL C connector. (Your screenshots show that you've installed 32-bit MySQL)
I missed this passage. At the moment, I have two choices:
Install 32-bit MySQL - I visited this page but there's no 64-bit version.
Use 32-bit Qt and 32-bit MinGW (both are already installed on my PC) - Qt version can be changed from the "Manage kits" tool, but how do I change the qmake version?
-
Hi.
@JKSH said in Cannot mix incompatible Qt library:
I just noticed something else: It looks like you are using 64-bit Qt and 64-bit MinGW. Therefore, you must also use the 64-bit MySQL C connector. (Your screenshots show that you've installed 32-bit MySQL)
I missed this passage. At the moment, I have two choices:
Install 32-bit MySQL - I visited this page but there's no 64-bit version.
Use 32-bit Qt and 32-bit MinGW (both are already installed on my PC) - Qt version can be changed from the "Manage kits" tool, but how do I change the qmake version?
@Tamfub said in Cannot mix incompatible Qt library:
@JKSH said in Cannot mix incompatible Qt library:
I just noticed something else: It looks like you are using 64-bit Qt and 64-bit MinGW. Therefore, you must also use the 64-bit MySQL C connector. (Your screenshots show that you've installed 32-bit MySQL)
I missed this passage.
That's OK.
mysql-connector-c-6.1.11-winx64
is 64-bit.After a long time I managed to analyze the .exe on Dependency Walker
Ask Dependency Walker to open
qsqlmysql.dll
instead of your .exe. -
@Tamfub said in Cannot mix incompatible Qt library:
@JKSH said in Cannot mix incompatible Qt library:
I just noticed something else: It looks like you are using 64-bit Qt and 64-bit MinGW. Therefore, you must also use the 64-bit MySQL C connector. (Your screenshots show that you've installed 32-bit MySQL)
I missed this passage.
That's OK.
mysql-connector-c-6.1.11-winx64
is 64-bit.After a long time I managed to analyze the .exe on Dependency Walker
Ask Dependency Walker to open
qsqlmysql.dll
instead of your .exe. -
Ask Dependency Walker to open
qsqlmysql.dll
instead of your .exe.It seems there are a bunch problems...
What now?
@Tamfub said in Cannot mix incompatible Qt library:
It seems there are a bunch problems...
Ignore API-MS-WIN-*.dll and EXT-MS-WIN-.dll. Those are not real problems.
However,
libmysql.dll
is a real problem. If it is missing, your program cannot loadqsqlmysql.dll
.This is what @Christian-Ehrlicher meant by "dependency":
qsqlmysql.dll
depends onlibmysql.dll
. You must deploy all of your dependencies. -
@Tamfub said in Cannot mix incompatible Qt library:
It seems there are a bunch problems...
Ignore API-MS-WIN-*.dll and EXT-MS-WIN-.dll. Those are not real problems.
However,
libmysql.dll
is a real problem. If it is missing, your program cannot loadqsqlmysql.dll
.This is what @Christian-Ehrlicher meant by "dependency":
qsqlmysql.dll
depends onlibmysql.dll
. You must deploy all of your dependencies.