QtCore4.dll, QtGui3.dll und andere Laufzeiten in System32 Ordner?



  • Hallo,

    auf XP ist es irgendwie gegangen. Seit ich Windows 7 installiert habe, VS 2010 statt 2005 installiert habe, Qt 4.7 statt 4.5 genommen habe, geht das irgendwie nicht mehr. Wenn ich ein Qt-Programm kompiliere, startet es zwar von VS2010 aus. Aber wenn ich sie manuell auf exe klicke, kommt diese Fehlermeldung, obwohl ich QT-Laufzeiten in System32 von Win7 kopiert habe. Es geht nur wenn die Laufzeiten im selben Ordner sind, aber das nervt.



  • Wieso nervt das? Es ist sogar der bevorugte Weg diese im eigenen Ordner zu haben, wenn man keine Versionsinformationen angibt, da man sonst andere Programme die QT nutzen funktionsunfähig machen kann wenn diese eine andere Version nutzen und ebenfalls dort hin kopieren.



  • Irgendwas von A nach B zu kopieren löst dein Problem wohl eher nicht. Der beschwert sich, weil er zur Laufzeit die entsprechenden Bibliotheken nicht findet. Das kannst du lösen indem du die libs neben die EXE legst (dann braucht der nicht lange Suchen) oder irgendwohin wo er eh sucht (das war system32 in XP). Alternativ könntest du versuchen die Qt Dateien einfach in die %PATH% Variable zu packen - wenn sich da in Win7 nichts geändert hat, dann sucht er den bei nicht aufgelösten Symbolen nach der entsprechenden lib ab.
    http://geekswithblogs.net/renso/archive/2009/10/21/how-to-set-the-windows-path-in-windows-7.aspx
    Es bietet sich vielleicht an, eine neue Variable QTDIR=pfadzudeinerqtinstallation zu erschaffen, und dann "%QTDIR%/bin;%QTDIR/lib;%QTDIR%" dem Pfad hinzuzufügen ... mach das aber besser nur wenn alle Nutzer Qt47 benutzen wollen.


Log in to reply