Install mysql driver for qt in ubuntu
-
Where is your Qt instance located?
-
i changed file permissions now it displays this error
"qpluginbase.pri:10: Unknown Replace Function: qtLibraryTarget"[quote author="mkfnx" date="1286424583"]"Failure to open file opt/qtsdk-2010.05/qt/src/plugins/sqldrivers/mysql/MakeFile"
I just saw this error today when I was trying to compile a Qt Example. Verify that you have writing permission in the /opt/qt folder.[/quote]
-
By Qt instance I've meant directory where your Qt libraries lives.
-
ok let me explain this. I install Qt creator in home diractory. and i created new diractory inside home when i was asked to provide a path for installing Qt creator. Inside this Qt directory there are four directories and a file. these are directories "Bin, lib, qt, share" and file named "License". When i get into Qt subdirectory then i found lots of other dirs and there is also another directory with the name of "lib". Now i dont know which lib directory contains Qt Libraries.
-
Then you have two Qt version's? One in the /opt dir and one in your /home? The home version was installed via the Qt installer? If this is the case, your installation is like mine. So here's what I did:
This is what I have:
- Installation Directory /home/mkfnx/qtsdk-2010.05/
- "Qt Directory" /home/mkfnx/qtsdk-2010.05/qt
- MySQL Plugin Directory /home/mkfnx/qtsdk-2010.05/qt/src/plugins/sqldrivers/mysql/
In the MySQL Plugin Directory I have a project file with the configuration to build the MySQL plugin.
Just run qmake to generate the Makefile and then run make to compile the plugin.
If you get an error thath says that mysql.h cannot be found edit the qsql_mysql.h file and change the line #include <mysql.h> for #include <mysql/mysql.h>
When the build succeds move or copy the file libqsqlmysql.so from the MySQL Plugin Directory to /home/mkfnx/qtsdk-2010.05/qt/plugins/sqldrivers
Also make sure that you're using the right Qt version to build your projects. Note that executing the command "qmake" int a terminal, will execute the Qt version that its referenced in the system path, this is probably the version (that I think that you have) installed in /opt. In Qt Creator shouldn't be any problem because it let's you choose the version that you want to use to build, just pick the right one.
That's how it worked for me. Hope to do it for you too.
-
you mean i should run qmake command on plugins.pro inside plugins directory and then make command on this very same file?
-
let me try to explain this now
what i did is remove ubuntu and install fresh ubuntu. then i install qt creator at home/zafar/qtsdk-2010.05 directory. then i did this
@
sudo apt-get install libmysqlclient15-dev
@
then i ran
@
qmake
@
command as it is described on this link
@
http://prres.wordpress.com/2010/05/17/configure-mysql-database-driver-for-qt/
@
After executing qmake command it displays this message
@
the program qmake can be found in the following packages
qt3-dev-tools
qt4-qmake
try sudo apt-get install <selected package>"
@
then i did "sudo apt-get install qt4-qmake" and it installs that package. then i run qmake command as describe in above link. it created Makefile in sqldrivers/mysql directory. everything went fine upto here but when i run make command it displays whole bunch of errors which i cannot type all those errors here. -
So you have wrong qmake maybe. Add path to home/zafar/qtsdk-2010.05/qt/bin to PATH env variable (at the begining of it of course) and run qmake again.
-
[quote author="Denis Kormalev" date="1286619015"]So you have wrong qmake maybe. Add path to home/zafar/qtsdk-2010.05/qt/bin to PATH env variable (at the begining of it of course) and run qmake again.[/quote]
ok i set variable by following steps here on "this link":http://www.zolved.com/synapse/view_content/28157/How_to_set_environment_variables_on_Ubuntu_
now my variable is $QTVAR = /home/zafar/qtsdk-2010.05/qt/bin. now i should go to this directory and run qmake or something else.
[edit: Link fixed / Denis Kormalev]
-
No, you've set the wrong env variable.
@
export PATH=/home/zafar/qtsdk-2010.05/qt/bin:$PATH
@
And after it run qmake in mysql plugin directory -
well i did that way then i run
@
qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient_r" mysql.pro
@and then i run
@
make
@so what should it display when i run make. i got q weird kind of output but i havent seen any errors kind of things.
-
Make itself outputs all steps of build. It shows you all compiling and linking operations it runs.
If make was successfull it should create libqmysql.so file which you should place into plugins/sqldrivers folder
-
yes the libqmysql.so has been created and i copy it to the folder you specified. Now is it ready to use? can i start coding for in qt for mysql db?
-
Yes, all should be ok now. To check it just output content of
@
QSqlDatabase::drivers ()
@
QMYSQL should be there. -
thanks alot.
alittle more help will be appreciated. I have never used mysql in linux environment. I use it in windows by making web application in PHP. it is quit simple in windows because i just download wamp and install it and everything works perfectly i can create edit or delete databases and table through wamp very easily. i need alittle help here about how can i make database and tables in mysql in linux platform?
once again thanks alot for your help
-
You can either do it via console (by running mysql command) or you can install apache+php+phpmyadmin for web interface or you can install one of desktop GUI mysql clients.