Hi,
I opened C:\Qt\4.2.0-snapshot-20060801\src\plugins\sqldrivers\mysql\mysql.pro
and added these lines:
Qt Code:
INCLUDEPATH += c:\MySQL\include LIBS += c:\MySQL\lib\opt\libmysql.libTo copy to clipboard, switch view to plain text mode
Then I ran configure.exe and nmake.
The way I understand it is that the plugin system scans the plugins\sqldrivers for all dynamic libraries matching the sql plugin interface (and build number).
Given that my qsqlmysql dll files are feshly built into the correct place, why wouldn't Qt know about them?
Especially, the fact that I copied a build directory where it worked on another machine, I can't see why it wouldn't work here given it's the same enviroment.
Thanks for the reply,
Steve York
Last edited by stevey; 18th September 2006 at 04:39.
Sorry, I could not actually help you, but I was curious as to what your problem was, etc...
I am going to try rebuild Qt using your above mentioned method to build the plugin. Did you build -static or -shared? And what was the all configures for configure...?
On both machines, I simply did 'configure.exe -plugin-sql-mysql' (Well on the home one I had ODBC going as well) so I let it do the defaults for everything else.
Out of curious, how many header files have you in your include directory for mysql?
There are 23 files in c:\MySQL\include
The version I'm building against is 5.0.24a-win32
ok..identical here....22 headers and one .def
Right,
I've recompiled Qt with QT_DEBUG_COMPONENT defined.
When I run my test app, I get the following comments when Qt scans the mysql dll files
Can anyone explain how this could possibly NOT be a plugin?Qt Code:
QFactoryLoader::QFactoryLoader() looking at "C:/Qt/4.2.0-snapshot-20060801/plugins/sqldrivers/qsqlmysql.dll" not a pluginTo copy to clipboard, switch view to plain text mode
Especially given that it worked fine as a plugin on one machine, then when copied to another machine (without recompiling) it doesn't appear as a plugin?
What this implies to me is that the library doesn't implement an sql plugin, but it does.
So I just can't understand how this is supposed to work.
Thanks,
Steve York
Bookmarks