QT4.3.1 + QMYSQL + MinGW unter Windows

Alles rund um die Programmierung mit Qt
Antworten
taylanffm
Beiträge: 3
Registriert: 17. August 2007 01:04

QT4.3.1 + QMYSQL + MinGW unter Windows

Beitrag 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*
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

eine zeile sagt sehr viel.. nur fuer Mingw!
http://wiki.qtcentre.org/index.php?titl ... sing_MinGW
.........................
speack português italiano deutsch english castellà qt
taylanffm
Beiträge: 3
Registriert: 17. August 2007 01:04

Beitrag 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.
taylanffm
Beiträge: 3
Registriert: 17. August 2007 01:04

Beitrag 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.
Antworten