Seite 1 von 1
msvc-patch 4.0.0 und qt 4.0.1?
Verfasst: 23. August 2005 13:35
von dilorenzo
Hi!
Da Qt4-Open-Source für Windows ja keine Unterstützung für MSVC bietet, gibt es ja (irgendwo im Forum) einen Patch.
Funktioniert dieser auch mit Qt 4.0.1? Hat da schon jemand Erfahrungen gemacht?
Gruß,
Dominik
Re: msvc-patch 4.0.0 und qt 4.0.1?
Verfasst: 23. August 2005 16:23
von AHUser
dilorenzo hat geschrieben:Funktioniert dieser auch mit Qt 4.0.1?
Nein. Der muss verändert werden.
Hier der aktuell in Entwicklung befindliche Patch. MSVC 7 funktioniert noch nicht (unresolved symbols), aber MSVC 8 (.NET) kommt schon durch.
http://tinyurl.com/8jydy/msvc-bcc32-Qt-4.0.1patch.zip
Wobei mir da einige Fehler in Qt aufgefallen sind, die der Borland-Compiler aufgedeckt hat. Entweder interessiert es gcc und msvc nicht wenn durch Null dividiert wird, oder da stimmt was ganz und gar nicht.
Code: Alles auswählen
v = v > 0 ? v : -v;
int x = qIntCast((v + 89) / 90);
int y = bla / x;
Wenn v jetzt kleiner als 1 ist, dann wird x==0 und das "bla/x" kracht. MSVC und gcc scheint das aber nicht zu interessieren (oder die wandeln einen double anders in einen int um als der Borland-Compiler, was ich jetzt bezweifle)
Und rcc.exe dividiert ebenfalls durch Null, wenn man eine leere Ressourcen-Dateien (0 Bytes) hat und ohne Q_NO_COMPRESSION kompiliert.
Verfasst: 24. August 2005 08:32
von dilorenzo
Vielen Dank!!
Verfasst: 24. August 2005 14:34
von dilorenzo
Noch eine Anmerkung zum o.g. Patch:
Das patch-programm hat bei mir so nicht funktioniert.
Habe mir dann einfach die neuste Version von der gnu-seite heruntergeladen (siehe patch-readme) und die alte patch.exe gegen die neue ersetzt.
Dann hat das auch funktioniert.
Verfasst: 24. August 2005 20:13
von AHUser
dilorenzo hat geschrieben:Dann hat das auch funktioniert.
Hat er etwa irgendwas wie "Cannot create file C:\Dokumente und Einstellungen\..." gebracht? Das hat mir nämlich jemand anders auch gesteckt. (Bei mir geht die mitgelieferte patch.exe natürlich).
Verfasst: 25. August 2005 08:42
von dilorenzo
Genau.
Der konnte irgendeine Datei im %temp%-Verzeichnis nicht anlegen und hat behauptet die wäre schon da.
Die genannte Datei gab es aber nicht,
da kam mir die Idee, dass das am Patch-Programm liegen könnte,
und das war es ja auch.
Verfasst: 25. August 2005 20:03
von AHUser
Aber warum funktioniert das alte dann bei mir? Naja ist ja auch egal. Wenn man beim MSVC 7 "configure-msvc -no-stl" angibt, kompiliert er.
Und ich werde den Verdacht nicht los, dass in moc.exe seit Qt 3 eine Zeitbombo steckt. Denn der Borland Compiler kracht mir je nach Umgebungsvariablen-Länge (bei "PATH=%PATH%;DuKannstMichMal" geht es mal, mal aber auch nicht, je nachdem in welchem Verzeichnis ich mich befinde). Und der einzige Unterschied ist der Speichermanager, der wahrscheinlich die Speicherbereiche näher enger reserviert und ein Bufferoverflow somit einen anderen überschreibt. Es liegt nur an moc.exe, denn weder qmake, rcc, uic, uic3, assistent, designer, linguist und porting haben dieses Problem und die nutzen wohl mehr Funktionen als moc.exe.