[gelöst] Qt 4 und SQLite 3.2.2

Alles rund um die Programmierung mit Qt
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

[gelöst] Qt 4 und SQLite 3.2.2

Beitrag von BartSimpson »

Hallo, ich habe gearde versucht, den SQLite unter Qt 4 Windows zum laufen zu bringen. Er wird korrekt übersetzt und installiert. Nur leider wir er von QSqlDatabase::drivers() nicht gefunden. hat jemand eine Idee, woran es liegen kann?
Qt 4 OpenSourece für Windows
MinGW 4.1
SQLite 3.2.2
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Nötige Dependencies sind nicht vorhanden. Die dll von sqlite kann nicht in den Suchpfaden gefunden werden?
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

Die sqlite3.dll liegt in einem Suchpfad.
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

ich hatte jetzt noch mal MySQL versucht. Aver auch hier das gleiche Probelm.
alle Dateien sind da. nur werden sie leider nicht gefunden:(
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Puh, keine Ahnung, vielleicht ist dein Plugin Pfad nicht angegeben, oder nicht richtig. Es gibt für diese doofen Plugins so viele mögliche Dinge, warum die nicht gehen. Ich habe keine Ahnung was der Grund sein könnte.
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

Dann dürfte er doch das odbc plug-in auch nicht finden oder?
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Also wenn er das ODBC Plugin lädt, die anderen im gleichen Pfad sind, die aber nicht laden, dann sind deine Dependencies nicht im %PATH% Env.

Eine andere Lösung gibt es einfach nicht mehr. Außerdem wenn du alles am Anfang sagt, hätte man dir bestimmt gleich sagen können was es ist. Anstatt das du auf jeden meiner Kommentare doofe Behauptungen aufstellst.

Zusammenfassung:
ODBC Plugin unter Qt4-win wird geladen, QSQLite und QMySQL aber nicht. Die Plugins befinden sich alle im gleichen Pfad.

Ich nehme also an, das deine MinGw installation von Qt vollständig mit dem momentan verfügbaren Libs erstellt wurde? Die Runtime DLLs müssen im %PATH% sein, nicht in %LIB%. Bevor du das aber ausprobierst, würde ich halt einfach die dlls einmal in deinen Plugin Ordner legen um zu sehen, ob die dann geladen werden. Danach würde ich unter Linux ldd datei.dll machen um die Abhängigkeiten der Plugins festzustellen und um zu sehen wo diese Dateien liegen.

Aber bitte streng dich ein wenig an, bevor jetzt so was kommt wie:
Aber die DLLs sind im Pfad oder so was.

Ich bin kein Hellseher, denn ich kann deine Computerdaten nicht einsehen und probieren.
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

%Pat%& entält:
C:\c++\Qt\4.0.0\bin;C:\c++\MinGW\bin;C:\WINDOWS\System32;C:\Programme\Perl\bin;C:\c++\SQLite;C:\c++\MySQL\lib\opt
also eigenlich alles was benötigt wird.
sqlite3.dll und libmysql.dll in den Pluin Ordner kopiert->Das selbe Ergebnis:(
ein ldd sqlite3.dll bzw ldd libmysql.dll liefert not a dynamic executable
was ja auch kein Wunder ist. Denn wie soll der Linux was mir Windows Bibliothken anfangen können?? Und ein ldd gibt es für Windows nicht.:(

EDIT:
Nach kurzer Suche habe ich doch einer Art ldd für Windows gefunden.
Aber alle Abhängigkeiten sind erfüllt.
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Mh,

jetzt fängt es an interessant zu werden. Versuche deine Anwendung einmal im Debug modus, damit du Mitteilungen von Qt bekommst. Es sieht so aus, als ob es nichts alltägliches wäre.

Gibts denn so etwas wie strace unter Windows? Das zeigt dir an, welche Libs wann und wo geladen werden.
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

Gute Frage, ob es was sttrace ähnliches gibt. Denn ich Programmiere sonst auch nur unter Linux.:) So erst mal die Debug libs bauen lassen. Ich hoffe es geht gut:)
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

So debug libs sind fertig.:) Ich habe auch die Datenbanktreiber neu gebaut. Aber das erbig ist das selbe:( Was muss ich nun tun?
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Die Anwendung in einem Debugger ausführen. Und die Mitteilungen posten.
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

nur bekomme ich leider keine ausgaben. ich habe es mit dem gten alten gdb gemacht.
gdb
target exec versuche.exe
run
Das einzige was ich bekomme ist ein:
Starting program: C:\c++\Projekte\versuche\debug/versuche.exe
und nach dem beenden ein:
Program exited normally.
muss ich vor dem run noch was angeben?
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Ne, eigentlich nicht.

normalerweise sollte zumindestens sowas kommen wie:
Loading SQL Driver blah not available.
Available driver are : ....

Zumindest war das in Qt 3 so. Du hast ein echtes mist Problem.

Installiere Windows neu und Qt4 neu .... hehe

Keinen Plan mehr, aber vielleicht findest du auf der Qt Mailingliste etwas darüber. Sonst bist du wohl einer der ersten für das Problem. Bei mir gehen die SQL Driver, gut, ich habe auch VS2003 commercial, aber das sollte ja nichts daran ändern.
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

So ich habe es jetzte nochmal versucht, imdem ich alles neu übersetzte. Unter Linux gehts prima. Nur unter Windows werden die plugins nicht gefunden:(
Antworten