Forum QtFR

La communauté francophone Qt

Vous n'êtes pas identifié(e).

Annonce

Qt 4: 4.8.4 - Qt 5: 5.0.2 - Qt Creator: 2.7.0 - Qt Installer: 1.3.0 - VS Qt 4: 1.1.11 - VS Qt 5: 1.2.1 - Monkey Studio: 1.9.0.4

#1 20-02-2009 20:53:03

pasnox
Modérateur Qt
Lieu : France
Inscription : 21-05-2005
Messages : 1 764
Site Web

[Qt4-Win] Compilation du plugin mysql pour Qt

Bonjour,

Face au nombre de personne qui passe encore sur le chat demander de l'aide sur ce topic, je depose ici un script batch permettant de facilement compiler et mettre en place un environment de dev pour mysql. Le topic existant semblant ne pas etre assez explicite ...

Pré requis :

* MinGW utils en version 0.3 (http://sourceforge.net/project/showfile … e_id=61599) (Seuleument si vous utilisez MinGW)
* MySql 5.x Essentials en 32bits (http://dev.mysql.com/downloads/mysql/5.1.html#win32)
* Qt 4.x precompilé pour MinGW (http://www.qtsoftware.com/downloads/ope … indows-cpp) (Seuleument si vous utilisez MinGW)
* Qt 4.x precompilé pour MSVC (http://www.qtsoftware.com/downloads/ope … indows-cpp) (Seuleument si vous utilisez MSVC)

Tout d'abord il faut installer MySql en mode custom, afin de forcer l'installation des "C include files", le dossier d'installation est peu important (espaces ou pas dans le chemin, le script batch le gére).
Ensuite decompresser le MinGW utils dans le dossier de votre installation de MinGW. (Seuleument si vous utilisez MinGW)
Creer un nouveau fichier texte nommé mysql.bat sur votre bureau, et copier / coller le contenu du batch dedans.
Modifier les variables XXX_DRIVE ainsi que les XXX_DIR et sauver le fichier.
Enfin double clicker sur le fichier batch pour l'executer.

Vous voila enfin possesseur d'un environnement de dev mysql.

Fichier batch (mysql.bat) :

Batch pour MinGW

Batch pour MSVC

Script sh pour Mac OS X (eric_tux)
Vous devez installer MySQL sur votre machine en installant les headers.


EDIT: Revoila le script, merci a ceux qui ont permis cela wink

Dernière modification par pasnox (27-06-2010 13:10:50)


Besoin d'un IDE pour Qt 4, qui fonctionne, qui soit multiplateforme, puissant et extensible ?
Vous êtes au bon endroit, essayez Monkey Studio : http://monkeystudio.org

N'hesitez pas à venir faire un tour sur le channel IRC de Qt fr accessible ici ( #qt-fr )

Hors ligne

#2 20-02-2009 22:49:37

IrmatDen
Dieu vivant Qt
Inscription : 29-03-2005
Messages : 6 882

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

Salut,

Merci, en espérant que ça résolve le problème des non-lecteurs...

pasnox a écrit :

EDIT: Je ne vois plus l'option 'Sticky' elle a disparu ?

Elle y est toujours, tout en bas à droite big_smile Je déplace en Installation et je l'épingle smile

Hors ligne

#3 26-02-2009 01:40:47

Barbuslex
Membre(e) Qt
Lieu : France
Inscription : 25-02-2009
Messages : 46
Site Web

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

Mais où est le batch ?

Hors ligne

#4 26-02-2009 03:41:06

IrmatDen
Dieu vivant Qt
Inscription : 29-03-2005
Messages : 6 882

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

Hors ligne

#5 26-02-2009 12:46:20

Barbuslex
Membre(e) Qt
Lieu : France
Inscription : 25-02-2009
Messages : 46
Site Web

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

Dsl mais elle n'apparait pas chez moi, voyez plutot :

http://img6.(Veuillez utiliser le bouto … /yapas.png

Hors ligne

#6 26-02-2009 13:38:14

Barbuslex
Membre(e) Qt
Lieu : France
Inscription : 25-02-2009
Messages : 46
Site Web

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

C'est bon sa marche maintenant lol
Heureusement que je suis venu sur le tchat tongue
Cette technique marche super bien par rapport à l'autre que j'ai essayé 20x et qui ne marche pas chez moi ^^

Hors ligne

#7 26-02-2009 13:40:49

pasnox
Modérateur Qt
Lieu : France
Inscription : 21-05-2005
Messages : 1 764
Site Web

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

Il y avait un problème de droits sur ce thread, il a été corrigé (merci nikikko).


Besoin d'un IDE pour Qt 4, qui fonctionne, qui soit multiplateforme, puissant et extensible ?
Vous êtes au bon endroit, essayez Monkey Studio : http://monkeystudio.org

N'hesitez pas à venir faire un tour sur le channel IRC de Qt fr accessible ici ( #qt-fr )

Hors ligne

#8 27-02-2009 01:39:13

IrmatDen
Dieu vivant Qt
Inscription : 29-03-2005
Messages : 6 882

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

Barbuslex a écrit :

Dsl mais elle n'apparait pas chez moi, voyez plutot :

http://img6.(Veuillez utiliser le bouto … /yapas.png

Toutes mes confuses, sincérement !
Je ne connaissais pas ce genre de droits au niveau des posts :s

Hors ligne

#9 06-03-2009 20:58:09

wathek
Invité

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

Merci beaucoup PasNox ca marche a merveille je viens de tester avec Qt 4.4.3 et Qt 4.5 pas de probleme wink

#10 09-03-2009 14:47:19

Barbuslex
Membre(e) Qt
Lieu : France
Inscription : 25-02-2009
Messages : 46
Site Web

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

Salut !

J'ai lancer le batch sur mon pc et tout vas bien par contre sur le pc de mon travail lorsque j'exécute le batch j'ai cette erreur :

-- Using mysql in
-- Using plugin path C:\Qt\4.4.3\src\plugins\sqldrivers\mysql
-- Reimp'ing the lib...
-- Bulding mysql qt plugin...
mingw32-make -f Makefile.Debug all
mingw32-make[1]: Entering directory `C:/Qt/4.4.3/src/plugins/sqldrivers/mysql'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
oc -mthreads -Wl -shared -Wl,--out-implib,c:\Qt\4.4.3\plugins\sqldrivers\libqsql
mysqld4.a -o ..\..\..\..\plugins\sqldrivers\qsqlmysqld4.dll tmp/obj/debug_shared
/main.o tmp/obj/debug_shared/qsql_mysql.o tmp/obj/debug_shared/moc_qsql_mysql.o
-L"c:\Qt\4.4.3\lib" -L"c:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v
1.1\Lib\" -L"c:\Qt\4.4.3\lib" tmp\obj\debug_shared\qsqlmysqld_resource_res.o "-L
C:\Program Files\MySQL\lib\opt" -lmysql -lQtSqld4 -lQtCored4
g++: Files\MySQL\lib\opt -lmysql -lQtSqld4 -lQtCored4: No such file or directory

mingw32-make[1]: *** [..\..\..\..\plugins\sqldrivers\qsqlmysqld4.dll] Error 1
mingw32-make[1]: Leaving directory `C:/Qt/4.4.3/src/plugins/sqldrivers/mysql'
mingw32-make: *** [debug-all] Error 2
-- Copying the mysql dll into Qt bin folder...
        1 fichier(s) copié(s).
-- Build finished, if no error happens the plugins should be available.

C:\Qt\4.4.3\src\plugins\sqldrivers\mysql>pause
Appuyez sur une touche pour continuer...

Comment cela se fait il que la dll soit manquante ?
Je ne vois vraiment pas comment résoudre le problème avez vous une idée ?

Merci d'avance,
++

Hors ligne

#11 09-03-2009 15:15:43

pasnox
Modérateur Qt
Lieu : France
Inscription : 21-05-2005
Messages : 1 764
Site Web

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

Il semble y avoir, soir une erreur de parsing de la ligne de command de la part de mingw, soit tu ne possedes pas les libraries debug de Qt sur ton poste.

Essaye de mettre à jour MinGW.

PasNox,


Besoin d'un IDE pour Qt 4, qui fonctionne, qui soit multiplateforme, puissant et extensible ?
Vous êtes au bon endroit, essayez Monkey Studio : http://monkeystudio.org

N'hesitez pas à venir faire un tour sur le channel IRC de Qt fr accessible ici ( #qt-fr )

Hors ligne

#12 09-03-2009 20:07:00

Barbuslex
Membre(e) Qt
Lieu : France
Inscription : 25-02-2009
Messages : 46
Site Web

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

Dans cette ligne :

g++: Files\MySQL\lib\opt -lmysql -lQtSqld4 -lQtCored4: No such file or directory

Ne faut il pas ?

g++: C:\Program Files\MySQL\lib\opt -lmysql -lQtSqld4 -lQtCored4: No such file or directory

Car j'utilise la version 4.4.3 de Qt avec l'intégration MinGw donc je pense qu'il s'agit de la derniere version vu qu'il l'install en le téléchargeant depuis le net.
Je pense que le problème viens plutot du fait que MySQL est installé dans Program Files et qu'il n'a pas pris en compte l'espace entre les 2 noms.
Je te dis sa car je viens de rentrer chez moi et je me suis aperçu que MySQL était installé dans C:\MySQL et non pas dans C:\Program Files\MySQL.

Qu'est ce que vous en pensez ?

J'essairai demain ou mercredi et je vous tiendrais au courant en tout cas merci beaucoup de votre attention.

Hors ligne

#13 10-03-2009 10:26:54

pasnox
Modérateur Qt
Lieu : France
Inscription : 21-05-2005
Messages : 1 764
Site Web

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
oc -mthreads -Wl -shared -Wl,--out-implib,c:\Qt\4.4.3\plugins\sqldrivers\libqsql
mysqld4.a -o ..\..\..\..\plugins\sqldrivers\qsqlmysqld4.dll tmp/obj/debug_shared
/main.o tmp/obj/debug_shared/qsql_mysql.o tmp/obj/debug_shared/moc_qsql_mysql.o
-L"c:\Qt\4.4.3\lib" -L"c:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v
1.1\Lib\" -L"c:\Qt\4.4.3\lib" tmp\obj\debug_shared\qsqlmysqld_resource_res.o "-L
C:\Program Files\MySQL\lib\opt"
-lmysql -lQtSqld4 -lQtCored4
g++: Files\MySQL\lib\opt -lmysql -lQtSqld4 -lQtCored4: No such file or directory

On voit clairement que la ligne de commande est bonne hmm


Besoin d'un IDE pour Qt 4, qui fonctionne, qui soit multiplateforme, puissant et extensible ?
Vous êtes au bon endroit, essayez Monkey Studio : http://monkeystudio.org

N'hesitez pas à venir faire un tour sur le channel IRC de Qt fr accessible ici ( #qt-fr )

Hors ligne

#14 10-03-2009 11:12:57

pasnox
Modérateur Qt
Lieu : France
Inscription : 21-05-2005
Messages : 1 764
Site Web

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

Es tu sûr d'avoir les librairies Qt en debug ?


Besoin d'un IDE pour Qt 4, qui fonctionne, qui soit multiplateforme, puissant et extensible ?
Vous êtes au bon endroit, essayez Monkey Studio : http://monkeystudio.org

N'hesitez pas à venir faire un tour sur le channel IRC de Qt fr accessible ici ( #qt-fr )

Hors ligne

#15 11-03-2009 09:59:52

Barbuslex
Membre(e) Qt
Lieu : France
Inscription : 25-02-2009
Messages : 46
Site Web

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

Oui normalement j'ai mis les mingw utils dans mingw\bin donc je ne comprend pas...
Alors j'ai désinstaller et reinstaller qt 4.4.3 proprement et Maintenant j'ai une serie d'erreurs comme ceci :

const]+0xa):C:/Qt/4.4.3/src/plugins/sqldrivers/mysql/../../../../include/QtCore/
../../src/corelib/tools/qlist.h: undefined reference to `_imp___ZN7QString11shar
ed_nullE'
tmp/obj/debug_shared/moc_qsql_mysql.o(.rdata$_ZTV12QMYSQLDriver[vtable for QMYSQ
LDriver]+0x7c):C:/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4
.2/bits/locale_facets.tcc:2502: undefined reference to `QSqlDriver::setLastError
(QSqlError const&)'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [..\..\..\..\plugins\sqldrivers\qsqlmysqld4.dll] Error 1
mingw32-make[1]: Leaving directory `C:/Qt/4.4.3/src/plugins/sqldrivers/mysql'
mingw32-make: *** [debug-all] Error 2
-- Copying the mysql dll into Qt bin folder...
        1 fichier(s) copié(s).
-- Build finished, if no error happens the plugins should be available.

C:\Qt\4.4.3\src\plugins\sqldrivers\mysql>pause
Appuyez sur une touche pour continuer...

J'ai répété étape par étape et c'est arrivé à l'étape du Make que cela fait cette liste d'erreurs...

EDIT (pasnox): J'ai volontairement réduit le log d'erreur.

Dernière modification par pasnox (18-03-2009 10:35:05)

Hors ligne

#16 11-03-2009 10:32:39

pasnox
Modérateur Qt
Lieu : France
Inscription : 21-05-2005
Messages : 1 764
Site Web

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

tu es sur de ne pas avoir de conflit de version de Qt ? parce que l'a l'erreur est simple, les références ne sont pas trouvé dans les libs hmm donc rien a voir avec mysql a proprement parler.


Besoin d'un IDE pour Qt 4, qui fonctionne, qui soit multiplateforme, puissant et extensible ?
Vous êtes au bon endroit, essayez Monkey Studio : http://monkeystudio.org

N'hesitez pas à venir faire un tour sur le channel IRC de Qt fr accessible ici ( #qt-fr )

Hors ligne

#17 11-03-2009 10:39:38

Barbuslex
Membre(e) Qt
Lieu : France
Inscription : 25-02-2009
Messages : 46
Site Web

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

Ben j'ai justement désinstaller et reinstaller Qt version 4.4.3 donc je ne sais pas du tout d'où le problème peut venir...
Il y avait Qt 4.2 installé précédemment sur la machine que j'ai justement désinstaller aussi.

Donc comment puis je faire autrement ?

Hors ligne

#18 11-03-2009 11:46:10

pasnox
Modérateur Qt
Lieu : France
Inscription : 21-05-2005
Messages : 1 764
Site Web

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

Essaye de cleaner a la main le dossier du plugin mysql avant de relancer la compilation
il est possible que les fichiers objets aient été compilés avec une version plus ancienne de Qt et poseraient des problèmes au moment du link.


Besoin d'un IDE pour Qt 4, qui fonctionne, qui soit multiplateforme, puissant et extensible ?
Vous êtes au bon endroit, essayez Monkey Studio : http://monkeystudio.org

N'hesitez pas à venir faire un tour sur le channel IRC de Qt fr accessible ici ( #qt-fr )

Hors ligne

#19 11-03-2009 11:53:42

Barbuslex
Membre(e) Qt
Lieu : France
Inscription : 25-02-2009
Messages : 46
Site Web

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

Tout le dossier C:\Qt\4.4.3\src\plugins\sqldrivers\mysql ?

Hors ligne

#20 11-03-2009 12:28:31

Barbuslex
Membre(e) Qt
Lieu : France
Inscription : 25-02-2009
Messages : 46
Site Web

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

J'ai résolu mon problème.
En fait, j'avais visual studio .net 2003 d'installé sur la machine et ce dernier avait ajouté les variables d'environnements suivantes :

INCLUDE
C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\include\

LIB
C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Lib\

VS71COMNTOOLS
C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\

Je les ai supprimé et le make Qt passe sans problèmes maintenant ^^

Hors ligne

#21 17-03-2009 03:56:18

Benoit
Invité

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

Bonjour,
J'ai besoin de QT compatible avec MySQL.
Ma première tentative a été de suivre ce post "http://forum.qtfr.org/viewtopic.php?id=1609&p=1".
Le probleme survenait au dernier "make" et j'obtient des erreurs.

Je voudrais donc utiliser votre .bat.
Je l'ai télécharger et j'ai changer le "path" pour MySql Server 5.0.
Ce fichier utilise un ou plusieurs fichiers (*.a) et (*.def). Je n'ai pas ces fichiers.
Dans mon dossier "C:\Program Files\MySQL\MySQL Server5.0\lib\opt\" j'ai ces fichiers:
libmysql.dll
libmysql.lib
mysqlclient.lib
mysys.lib
regex.lib
strings.lib
zlib.lib
dwldh.s

comment obtenir ces fichiers?
Merci beaucoup de votre aide
ps: la commande "configure -plugin-sql-mysql" a été executer precedement

#22 17-03-2009 20:05:40

Benoit
Invité

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

Bonjour,
j'ai maintenant les fichiers libmysql.a et libmysql.def à l'aide de dlltool.exe .
J'ai executer votre .bat et l'aide de qmake apparait comme si la synthaxe était incorrect...??
Pourtant, le fichier DLL (libmysql.dll) est bien générer dans le dossier bin de QT.

Par contre, lorsque je tente d'utiliser le driver QMYSQL dans un programme je reçoit un message d'erreur et la liste
des drivers disponible, QMYSQL n'étant pas dans cette liste le driver n'est pas loader:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC

Est ce que quelqu'un a une solution à cette erreur?
Merci de votre aide

#23 17-03-2009 21:35:42

braindeadbzh
Immortel Qt
Lieu : Sophia-Antipolis
Inscription : 23-01-2009
Messages : 3 210
Site Web

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

As-tu la variable d'environnement QTDIR qui pointe au bon endroit?


La connaissance n'est intéressante que si elle est partagée.

Hors ligne

#24 18-03-2009 10:37:06

pasnox
Modérateur Qt
Lieu : France
Inscription : 21-05-2005
Messages : 1 764
Site Web

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

Benoit a écrit :

Bonjour,
j'ai maintenant les fichiers libmysql.a et libmysql.def à l'aide de dlltool.exe .
J'ai executer votre .bat et l'aide de qmake apparait comme si la synthaxe était incorrect...??
Pourtant, le fichier DLL (libmysql.dll) est bien générer dans le dossier bin de QT.

Par contre, lorsque je tente d'utiliser le driver QMYSQL dans un programme je reçoit un message d'erreur et la liste
des drivers disponible, QMYSQL n'étant pas dans cette liste le driver n'est pas loader:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC

Est ce que quelqu'un a une solution à cette erreur?
Merci de votre aide

Est ce dur de lire le premier post du topic ou TOUT est expliqué ?

P@sNox,


Besoin d'un IDE pour Qt 4, qui fonctionne, qui soit multiplateforme, puissant et extensible ?
Vous êtes au bon endroit, essayez Monkey Studio : http://monkeystudio.org

N'hesitez pas à venir faire un tour sur le channel IRC de Qt fr accessible ici ( #qt-fr )

Hors ligne

#25 23-03-2009 17:30:12

Hawkeye429
Invité

Re : [Qt4-Win] Compilation du plugin mysql pour Qt

Bonjour à tous !

Comme vous vous en doutez, j'ai un souci lors de la compilation du plugin MySQL pour QT

J'ai suivi le tutorial disponible ici à la lettre et tout s'est bien passé, dans toutes les étapes.

Seulement, lorsque je crée un fichier C++ (sous CodeBlocks, ou avec Notepad++) et que je le compile (qmake -project etc...) depuis le prompt de QT, mes include ne passent pas, je suis par exemple obligé de mettre :

#include <C:\Qt\include\qsqldatabase.h>
au lieu de
#include <QSqlDatabase> (sinon erreur de compilation, référence indéfinies etc...)

J'obtiens malheureusement le même résultat en utilisant le script .bat de p@snox, même si son exécution se déroule sans entrave.

Je ne sais plus quoi faire, et même Google n'a pas pu me sortir de la panade.

Config :

MySQL 5.1.32
Qt 4.5.0 (MinGW est inclut dans l'installeur de QT)
le tout sous Windows Vista

Merci d'avance à tous ceux qui répondront smile

Hawkeye429.

Pied de page des forums


Sitemap QtFR