Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
Can't build the MySQL drivers
I'm trying to build the MySQL drivers for Qt. I've downloaded and installed the MySQL Server files and I also got the Qt source files. After that i've tried to build the MySQL plugin, by opening the MySQL pro file (located at Qtbase/src/plugins/sqldrivers/mysql) and I've add path to the MySQL Server files (include and lib). When I now try to build it, I get the error "cannot open file 'mysql.lib'". So I checked if there is a mysql.lib file in the MySQL Server lib path and there wasnt, so I downloaded the C++ MySQL connector, but it doesnt contain a mysql.lib file either. So I need help, I'm not sure if I'm doing it right and if so, where can I get the mysql.lib file?
Thanks for all the help
You either get an SDK for the mysql client library that includes the
.libor you build it yourself. No matter what kind of connectors or other runtimes you download, they wouldn't include the import library (as MS calls it) because they're not a development package (which you need).
@kshegunov Thanks for the reply. As far as i know, the MySQL Server source and the MySQL C++ Connector conatin all the needed libraries. Also, there is no other official SDK for MySQL. That's why I'm so confused, because nobody has ever heard of an "mysql.lib" they all only have the "libmysql.lib" file included.
This takes me over 3 days now already... I need help really badly, since I got no clue what I have to do. I would really appreciate if somebody has 5-10 minutes to help me.
Hi and welcome to devnet,
Did you modify the plugin .pro file ?
That's why I'm so confused, because nobody has ever heard of an "mysql.lib" they all only have the "libmysql.lib" file included.
Well, this is it! In the end you have the
libfile, the only problem seems to be still on the table is that the linker looks for the wrong one. To join @SGaist:
Did you modify the plugin .pro file ?
Hey, thanks for the response. Yes I did modify it, I followed a tutorial. Now I've downloaded it again and I did not modify it and tried to build it. It first gave me the error that it can't find the mysql.h file, so I've add the Includepath to it. Now I get the error "cannot find -libmysql", even if I add the correct library path. :(
Hope somebody can help me! :)
EDIT: I copied the libmysql.lib into the compiler path. Now it builds succesfully but it does not create the needed dll files... Still need help :c
Did you add something like:
LIBS += -LC:/Path/To/MySQL/Folder/Where/.lib_file/Can/Be/Found
On a side note, if the path contains spaces, then you might get into trouble (Windows always gave trouble with paths containing spaces). If so either move your MySQL install (or just the header and lib file) in a path without space or use the 8.3 notation. (I recommend the first solution)
@SGaist I copied the libmysql.lib into the compiler path. Now it builds succesfully but it does not create the needed dll files... Still need help :c
Where did you check their existence ?
@SGaist In the build directory that was created in "...qtbase\src\plugins\sqldrivers\build-mysql-Desktop_Qt_5_5_1_MinGW_32bit-Debug"
Well, this sounds like a intermediate dir created by Qt creator, look up the plugins directory. When I build Qt I get the plugins' binaries in
qtbase/plugins/(although I do it from the command line).
@kshegunov I dont have a "plugins" folder in my "qtbase" directory D:
Edit: I think it was build in my normal Qt folder in "C:\Qt\5.5\msvc2013\plugins\sqldrivers", if I pick the msv2013 32bit compiler now for the project I need the driver for, then it works!!! Thanks sooooooooo much to everyone who helped me!!!! :)
I think it was build in my normal Qt folder
I suppose that's possible, if you're using the
qmakefrom that location to run on the project file. In any case I'm glad it's working now.