2004-09-22 -> veraltert (qt4.0.0 unterstützt jetzt mingw direkt)

Qt unter Wine benutzen

Wollen sie vielleicht Qt Programme kompilieren, möchten dazu aber
die Eval oder Free Version verwenden? Diese unterstützt leider nur
Visual C++, und nicht mingw!

Unter [0] ist eine ausführliche Anleitung wie man Visual C++ unter
Wine einrichtet. Ich werde auf meine Probleme bei der Einrichtung
aber nochmal eingehen.

Der erste Schritt ist das installieren von Wine. Da Compiler keine
komplizierten grafischen Librarycalls verwenden, funktioniert das
ganze auch schon mit älteren Versionen, der Autor von [0] hat
2002-0-04 verwendet, meine Version ist ein Backport für Debian Woody
und hat immerhin bereits die Version 2003-04-08. Die geschilderten
Probleme mit der emulierten Konsole gibt es bei meiner Version
nicht mehr, die Konsole integriert sich z.b. in "konsole" von kde.

Auf die Installation und Konfiguration von Wine möchte ich nicht
näher eingehen, nur soviel: winesetuptk hat eine kaputte Konfigurations-
datei erzeugt, mit der komische Fehler, ala:
"Konnte nicht kompilieren, out of environment memory."

Qt installieren muß leider auf einen Windowsrecher erfolgen, da dieser
Prozess nicht (leicht) emuliert werden kann. Auf diesen Rechner muß
leider auch Visual C++ vorhanden sein. Die selben Pfade verwenden
wie man nachher in seiner wine-Umgebung haben will, kann sicher nicht
schaden. Zum Schluß kopiert man einfach die Pfade vc98, MSDev98 und
qt in den wine Ordner. Bei mir wie folgt:
c:\Visual\
	-> qt3-3-3
	-> vc98
	-> MSDev98

Nun muß die Konfiguration (~/.wine/config) von Wine angepasst werden.
Der Pfad wird auf folgendes gesetzt:
"Path" = "C:\\Visual\\qt3-3-3\\bin;C:\\Visual\\MSDev98\\Bin;
	C:\\Visual\\vc98\\Bin;C:\\Visual\\qt\\bin;c:\\windows;
	c:\\windows\\system;e:\\"
Pfade sind natürlich je nach Installation zu korriegen. Das ganze muß in
einer Zeile stehen. Trennzeichen ist ";"!

Unter [Version] muß
"Windows" = "win2k"
oder ein anderes Windows gesetzt sein, da qmake auf diese Information
zurückgreift.

Die DLLs können mehr oder weniger gelassen werden. Notwendig ist es aber
msvcrt.dll nach c:\windows\system zu kopieren. Ob mit Original DLLs bessere
ergebnisse erziehlt werden können, konnte ich noch nicht herausfinden.
Downloads von allen Dlls unter [1].

Im Ordner C:\Visual\qt3-3-3\lib muß ein Hardlink angelegt werden:
ln qt-mteval333.dll qt.dll
Könnte man genauso kopieren.

Außerdem muß eine autoexec.bat angelegt werden, mit folgendem Inhalt:
set INCLUDE=C:\Visual\vc98\Include;C:\Visual\Qt3-3-3\Include
set LIB=C:\Visual\vc98\Lib;C:\Visual\Qt3-3-3\Lib
set QTDIR=C:\Visual\Qt3-3-3
set QMAKESPEC=C:\Visual\Qt3-3-3\mkspecs\win32-msvc
Pfade wie immer anpassen! Bei include und lib muss von Visual C++ und
von Qt die Pfade angegeben werden. Trennzeichen ist ";"!

Bugs:
fixme:console:SetConsoleCtrlHandler (0x7800f588,1) - no error checking or testing yet
Dieser Fehler ist ständig beim Kompilieren aufgetreten. Ich habe keine Möglichkeit
gefunden, wie man ihn entfernt.

Dll warnings:
LINK : warning LNK4199: /DELAYLOAD:comdlg32.dll ignored; no imports found from comdlg32.dll
LINK : warning LNK4199: /DELAYLOAD:oleaut32.dll ignored; no imports found from oleaut32.dll
LINK : warning LNK4199: /DELAYLOAD:winmm.dll ignored; no imports found from winmm.dll
LINK : warning LNK4199: /DELAYLOAD:wsock32.dll ignored; no imports found from wsock32.dll
LINK : warning LNK4199: /DELAYLOAD:winspool.dll ignored; no imports found from winspool.dll

Könnte man mit Original Dlls austauschen, damit der Fehler verschwindet.


[0] http://codingstyle.com/articles/using-ms-vcpp-with-gnu-wine.html
[1] http://dll.yaroslavl.ru/index.php3
Fr Jul 30 13:54:24 CEST 2021
patent_button.gif valid-html401.png elektra.jpg fsfe-logo.png valid-css.png vim.gif anybrowser.gif