Seite 1 von 1

QT4.3.1 + QMYSQL + MinGW unter Windows

Verfasst: 17. August 2007 01:16
von taylanffm
Hi,

ich habe seit 3 Tagen folgendes Problem:

Würde gerne mit meiner QT Applikation auf eine MySql Datenbank zugreifen, allerdings klappt das irgendwie nicht in Windows ( Unter Linux funktioniert es ).

Zunächst habe ich nach vielem hin und her es geschafft den Driver zu bilden. Das Compilen der Anwendung funktionierte auch. Beim Ausführen des *.exe tritt aber folgender Fehler auf:

< Der Prozedureinsprungspunkt "mysql_affected_rows@4" wurde in der DLL "libmysql.dell" nicht gefunden. >

Ich hoffe jemand kann mit weiterhelfen.

Benutzt wird:
QT4.3.1 OpenSource
MinGw
MySQL5*

Verfasst: 17. August 2007 01:48
von patrik08
eine zeile sagt sehr viel.. nur fuer Mingw!
http://wiki.qtcentre.org/index.php?titl ... sing_MinGW

Verfasst: 17. August 2007 10:06
von taylanffm
Bin genau nach dieser Anleitung gegangen, leider ohne Erfolg. Ich werde nochmals alles deinstallieren und es erneut versuchen.

Eine Frage habe ich allerdings dann doch noch, wie kann ich verhindern das beim neu kompilieren die QtGuid4.dll so groß (~53MB) wird ? Muss ich denn im Hauptverzeichniss von Qt unbedingt mingw32-make aufrufen ? Weil bei der Anleitung der ich oben gefolgt bin steht das ja nicht.

Es gibt so viele Anleitungen zu diesem Thema und ich kriege es einfach nicht gebacken :shock:

Kann es sein das ich etwas in meinem Code vergessen habe ? So sieht meine *.pro aus:

Code: Alles auswählen

...
HEADERS += timerecorder.h
FORMS += timerecorder.ui
SOURCES += main.cpp timerecorder.cpp
QT += sql
und meine Anwendung fängt so an (nicht vollständig!):

Code: Alles auswählen

#include <QSqlDatabase>
#include "timerecorder.h"

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");

TimeRecorder::TimeRecorder(QWidget *parent) 
        : QWidget(parent)
{
 ui.setupUi(this);
 db.setHostName("XXXXX");
 db.setDatabaseName("XXXXXX");
 db.setUserName("XXXXXXX");
 db.setPassword("XXXXXXXXXX");

 QMessageBox::critical(this,tr("TEST"),db.lastError().driverText());
...
}
Wie gesagt das Kompilieren funktioniert und wenn ich die libmysql.dll nicht im Programm-Verzeichnis habe dann merkt er auch.

Verfasst: 18. August 2007 14:55
von taylanffm
Hat jetzt geklappt, aber erst nach einem downgrade auf QT4.2.3 ! Schon komische sache mit dem Driver. Naja nächte Baustelle ist Gentoo Linux, wo es auch Probleme macht. Unter Ubuntu läufts hingegen.