Seite 1 von 1

[gelöst]Programm läuft nicht auf anderem PC (Windows, MinGW)

Verfasst: 22. Februar 2009 22:12
von hannes
Hallo

ich habe folgendes Problem. Mein Qt-Programm habe ich mit MinGW und Eclipse / CDT entwickelt. Es nutzt neben den QtCore und GtGui noch QtSql. Auf dem Entwicklungs PC läuft das Problem einwandfrei. Auch wenn ich das Programm zusammen mit den DLLs (QtCore, QtGui, QtSql und mingwm10) in ein separates Verzeichnis schiebe läuft die Anwendung.

Verfrachte ich das ganze auf einen anderen PC (ohne Qt, MingGW etc.) und starte das Programm, läuft es erst problemlos. Sobald ich die erste Sql Aktion starte stürzt es ab (ich nutze den Sqlite Treiber). Der Absturz wird durch einen runtime error erzeugt. Die genaue Fehlermeldung ist nicht sehr Aussage kräftig. ungefährer Wortlaut:
The Application has requested a shuttime ... runtime error, Please contact the admin.

Ich hab mit dem Dependency Walker nachgesehen. Die einzigen markierten DLLs waren: DWMAPI, MPR, SHLWAPI. Im Netz hab ich dazu nicht wirklich brauchbare Informationen gefunden.

Wäre schön, wenn hier jemand eine Idee oder Tipp hat. Der Empfänger wartet sehnsüchtig auf seine Software :-)

Gruß[/quote]

Verfasst: 22. Februar 2009 22:20
von The User
Der SQLite-Treiber ist wohl nicht vohanden, und de wid zu Laufzeit von QtSQL besorgt.
Kannst ja mal "QSqlDatabase::drivers" befragen. ;)

Verfasst: 22. Februar 2009 23:00
von Christian81
Foren-Suche und Doku lesen hilft da auch.

Verfasst: 23. Februar 2009 00:09
von hannes
Hab die Lösung gefunden. Es war das fehlende Sqlite Plugin. Die gewünschte dll (qsqlite4.dll) in ein Unterverzeichnis (sqldrivers) packen. Dann läuft alles ohne am Code Änderungen zu machen. Andere Lösungswege stehen in der von Christian81 erwähnten Doku.

@Christian klar hilft das. Aber wenn man den Fehler nicht versteht und kein Stichwort hat kann man schlecht suchen. Die Plugin Doku hatte ich soweit gelesen wie es nötig war, um die Datenbank zu nutzen. Da war noch keine Rede davon, auf was man noch alles achten muss. Der Tipp dass die erst zur Laufzeit nachgeladen werden hat geholfen.

Danke für die schnelle Hilfe