[gelöst] Problem mit DLL-Versionen ??

Verschiedenes zu Qt
Antworten
Tilman Räger
Beiträge: 189
Registriert: 6. Juni 2007 15:23
Wohnort: Göttingen

[gelöst] Problem mit DLL-Versionen ??

Beitrag von Tilman Räger »

Hallo,

ich habe ein etwas seltsames Verhalten. Ich baue meine Anwendung mit Qt 5.4.0 (Windows 32-Bit, VS2012). Ein Kollege hat schon die Version 5.4.2 auf dem Rechner.
Nun kommt es zu dem Verhalten, das sich das Programm auf verschiedenen Rechnern unterschiedlich verhält:

- startet nicht, Fehlermeldung 'Windows-Plugin kann nicht geladen werden'
- startet kurz, und stürzt dann ab
- läuft problemlos.

Ich habe den Verdacht, das es an einer Mischung der Versionen 5.4.0 und 5.4.2 liegt, habe nun aber das Problem, das es zum einen beim Kunden mit einer (angeblich) ganz sauberen 5.4.2-er Version nicht funktioniert, auf meinem eigenen Rechnern aber mit praktisch allen Mischungen (Ausnahme: platforms/qwindows.dll V 5.4.0, Rest Version 5.4.2) funktioniert. In diesem Fall bekomme ich die Meldung er könne das Plugin nicht laden.

Hat jemand ein solches Verhalten schon einmal beobachtet und/oder kann sich einen Reim drauf machen. Auf die anderen Rechner habe ich leider keinen direkten zugriff, so das ich die Konstellation dort nicht prüfen kann.
Und können die platforms-dlls auch an anderer Stelle installiert werden bzw. wo ist der offizielle Platz dafür (aktuell liegen sie bei uns unter ${Programdir}/platforms

mit freundlichen Grüßen

Tilman Räger
Zuletzt geändert von Tilman Räger am 17. Juni 2015 18:29, insgesamt 1-mal geändert.
Tilman Räger
Beiträge: 189
Registriert: 6. Juni 2007 15:23
Wohnort: Göttingen

[gelöst] Re: Problem mit DLL-Versionen ??

Beitrag von Tilman Räger »

Hallo

das Problem hat sich ein wenig verlagert. Grund für die Abstürze waren anscheinend nicht (oder nicht nur) nicht passende DLL's, sondern er findet den Datenbank-Treiber nicht (und dann beendet sich die Anwendung ohne weitere Meldung, lediglich ins Logfile wird etwas geschrieben)

Lt. Qt-Doku soll der Datenbank-Treiber in den Verzeichnissen, die die Funktion QCoreApplication::libraryPaths() zurückgibt installiert werden. Dort habe ich allerdings den QSQLite-Treiber liegen, allerdings ohne Erfolg. Lese ich da in der Doku etwas falsch? Sprich, wo genau habe ich den Treiber zu installieren? Auf dem Entwicklungsrechner sucht er sich den Treiber im Qt-Verzeichnis, das funktioniert dann problemlos. Aber ich kann schließlich nicht auf jedem Endkundenrechner Qt installieren lassen :-(

Das Problem hat sich nach weiterem Googlen gelöst. Wenn man die qsqlite.dll in den Ordner sqldrivers kopiert (Unterverzeichnis des Programmverzeichnisses), dann wird er auch problemlos gefunden! - Tja, wer lesen kann, ist klar im Vorteil :-D
Antworten