Hello !

J'ai quelques problèmes avec la compilation du plugin MySQL pour Qt.

Tout d'abord quelques présentations, j'ai télécharger le qtSDK 1.1, qui comprend donc Qt 4.7.3. J'ai aussi télécharger les sources 4.7.3 et MYSQL 5.5.15.

Donc je fais comme partout, j'installe tout ça, je vais dans mon command prompt, et je fais la commande "reimp libmysql.lib", ce qui me donne le fichier liblibmysql.a (Qui se trouve sur C:\Mysql\Mysqlserv\lib)

Après ça, je me dirige donc vers l'emplacement de mon fichier mysql.pro, qui se trouve sur "C:\QtSDK\QTSources\4.7.3\src\plugins\sqldrivers\mysql". J'effectue la commande "qmake "INCLUDEPATH+=C:\Mysql\MySQLserv\include" "LIBS+=C:\Dev\MySQL\lib\liblibmysql.lib" mysql.pro" Tout ce passe bien

En revanche lorsque j'execute "mingw32-make" c'est la cata ! Beaucoup d'erreurs. Les voici :

C:\QtSDK\QtSources\4.7.3\src\plugins\sqldrivers\mysql>mingw32-make
c:\QtSDK\Desktop\Qt\4.7.3\mingw\bin\qmake.exe "LIBS+=-LC:\MySQL\MySQLserv\lib -l
mysql" INCLUDEPATH+=C:\MySQL\MySQLserv\include -o Makefile mysql.pro
WARNING: (internal):1: Unescaped backslashes are deprecated.
WARNING: (internal):1: Unescaped backslashes are deprecated.
WARNING: (internal):1: Unescaped backslashes are deprecated.
mingw32-make -f Makefile.Debug all
mingw32-make[1]: Entering directory `C:/QtSDK/QtSources/4.7.3/src/plugins/sqldri
vers/mysql'
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -
DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_DLL -DQT_PLUGIN -DQT_SQL_LIB -
DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_H
AVE_SSE2 -DQT_THREAD_SUPPORT -I"c:\QtSDK\QtSources\4.7.3\include\QtCore" -I"c:\Q
tSDK\QtSources\4.7.3\include\QtSql" -I"c:\QtSDK\QtSources\4.7.3\include" -I"c:\M
ySQL\MySQLserv\include" -I"c:\QtSDK\QtSources\4.7.3\include\ActiveQt" -I"tmp\moc
\debug_shared" -I"..\..\..\..\mkspecs\win32-g++" -o tmp\obj\debug_shared\main.o
main.cpp
main.cpp:42:30: error: qsqldriverplugin.h: No such file or directory
main.cpp:43:25: error: qstringlist.h: No such file or directory
In file included from main.cpp:44:
../../../sql/drivers/mysql/qsql_mysql.h:45:30: error: QtSql/qsqldriver.h: No suc
h file or directory
../../../sql/drivers/mysql/qsql_mysql.h:46:30: error: QtSql/qsqlresult.h: No suc
h file or directory
In file included from c:\MySQL\MySQLserv\include/mysql.h:72,
from ../../../sql/drivers/mysql/qsql_mysql.h:52,
from main.cpp:44:
c:\MySQL\MySQLserv\include/mysql_com.h:291: error: 'SOCKET' does not name a type

c:\MySQL\MySQLserv\include/mysql_com.h:470: error: 'SOCKET' was not declared in
this scope
c:\MySQL\MySQLserv\include/mysql_com.h:470: error: expected primary-expression b
efore 'const'
c:\MySQL\MySQLserv\include/mysql_com.h:470: error: expected primary-expression b
efore 'unsigned'
c:\MySQL\MySQLserv\include/mysql_com.h:471: error: expected primary-expression b
efore 'unsigned'
c:\MySQL\MySQLserv\include/mysql_com.h:471: error: initializer expression list t
reated as compound expression
In file included from main.cpp:44:
../../../sql/drivers/mysql/qsql_mysql.h:60: error: 'QT_BEGIN_HEADER' does not na
me a type
../../../sql/drivers/mysql/qsql_mysql.h:70: error: expected class-name before '{
' token
../../../sql/drivers/mysql/qsql_mysql.h:77: error: 'QVariant' does not name a ty
pe
../../../sql/drivers/mysql/qsql_mysql.h:84: error: 'QVariant' does not name a ty
pe
../../../sql/drivers/mysql/qsql_mysql.h:86: error: ISO C++ forbids declaration o
f 'QString' with no type
../../../sql/drivers/mysql/qsql_mysql.h:86: error: expected ',' or '...' before
'&' token
../../../sql/drivers/mysql/qsql_mysql.h:89: error: 'QVariant' does not name a ty
pe
../../../sql/drivers/mysql/qsql_mysql.h:90: error: 'QSqlRecord' does not name a
type
../../../sql/drivers/mysql/qsql_mysql.h:95: error: ISO C++ forbids declaration o
f 'QString' with no type
../../../sql/drivers/mysql/qsql_mysql.h:95: error: expected ',' or '...' before
'&' token
../../../sql/drivers/mysql/qsql_mysql.h:103: error: expected class-name before '
{' token
../../../sql/drivers/mysql/qsql_mysql.h:104: error: ISO C++ forbids declaration
of 'Q_OBJECT' with no type
../../../sql/drivers/mysql/qsql_mysql.h:105: error: expected ';' before 'friend'

../../../sql/drivers/mysql/qsql_mysql.h:107: error: expected ')' before '*' toke
n
../../../sql/drivers/mysql/qsql_mysql.h:108: error: 'QObject' has not been decla
red
../../../sql/drivers/mysql/qsql_mysql.h:110: error: 'DriverFeature' has not been
declared
../../../sql/drivers/mysql/qsql_mysql.h:111: error: ISO C++ forbids declaration
of 'QString' with no type
../../../sql/drivers/mysql/qsql_mysql.h:111: error: expected ',' or '...' before
'&' token
../../../sql/drivers/mysql/qsql_mysql.h:118: error: ISO C++ forbids declaration
of 'QSqlResult' with no type
../../../sql/drivers/mysql/qsql_mysql.h:118: error: expected ';' before '*' toke
n
../../../sql/drivers/mysql/qsql_mysql.h:119: error: 'QStringList' does not name
a type
../../../sql/drivers/mysql/qsql_mysql.h:120: error: 'QSqlIndex' does not name a
type
../../../sql/drivers/mysql/qsql_mysql.h:121: error: 'QSqlRecord' does not name a
type
../../../sql/drivers/mysql/qsql_mysql.h:122: error: 'QString' does not name a ty
pe
../../../sql/drivers/mysql/qsql_mysql.h:124: error: 'QVariant' does not name a t
ype
../../../sql/drivers/mysql/qsql_mysql.h:125: error: 'QString' does not name a ty
pe
../../../sql/drivers/mysql/qsql_mysql.h:127: error: expected ':' before 'Q_SLOTS
'
../../../sql/drivers/mysql/qsql_mysql.h:128: error: expected primary-expression
before 'bool'
../../../sql/drivers/mysql/qsql_mysql.h:128: error: ISO C++ forbids declaration
of 'Q_SLOTS' with no type
../../../sql/drivers/mysql/qsql_mysql.h:128: error: expected ';' before 'bool'
../../../sql/drivers/mysql/qsql_mysql.h:136: error: ISO C++ forbids declaration
of 'QMYSQLDriverPrivate' with no type
../../../sql/drivers/mysql/qsql_mysql.h:136: error: expected ';' before '*' toke
n
../../../sql/drivers/mysql/qsql_mysql.h:139: error: 'QT_END_NAMESPACE' does not
name a type
main.cpp:57: error: 'QMYSQLDriverPlugin' has not been declared
main.cpp:57: error: ISO C++ forbids declaration of 'QMYSQLDriverPlugin' with no
type
main.cpp: In function 'int QMYSQLDriverPlugin()':
main.cpp:58: error: only constructors take base initializers
main.cpp:60: warning: no return statement in function returning non-void
main.cpp: At global scope:
main.cpp:62: error: expected constructor, destructor, or type conversion before
'*' token
mingw32-make[1]: *** [tmp/obj/debug_shared/main.o] Error 1
mingw32-make[1]: Leaving directory `C:/QtSDK/QtSources/4.7.3/src/plugins/sqldriv
ers/mysql'
mingw32-make: *** [debug-all] Error 2
Autant dire qu'après 3 jours c'est décourageant. Je pense avoir fait 3/4 des tutos sur Google. J'avais fait l'erreur d'utiliser Mysql en 64 bit. J'ai installer la version 32 bit, aucun changement. Je ne vois absolument rien a faire.

Je m'en remet a vous...

(PS : Est-il possible de partager les dll pour ce plugin ? Parce que ça m'aiderait vachement)

Merci d'avance et a bientot !