MS Toolkit.Net Problem mit Additional Compiler Support Patch

Verschiedenes zu Qt
uhu01
Beiträge: 150
Registriert: 10. Juli 2005 20:46

MS Toolkit.Net Problem mit Additional Compiler Support Patch

Beitrag von uhu01 »

Hy!

Ich hab ein kleines Problem mit dem ACS Patch für Qt 4.0.1, bzw. nicht mit dem Patch sondern mit dem VC Toolkit.
Wollte heute die Qt kompilieren, hab das VC Toolkit installiert, und dann das neue PSDK (http://www.microsoft.com/downloads/deta ... laylang=en).
Hatte dort schon einige Auswahlprobleme, denn obwohl MS schreibt das:

Code: Alles auswählen

This edition of the SDK replaces the previous SDKs for Windows XP SP2 and Windows Server 2003 and can be used to develop applications for those platforms.
ist kein WinXPSP2 in der Liste der unterstützten Platformen aufgeführt.
Ok, trotzdem runtergeladen und Installiert, habe alles Installiert bis auf die x64, ia64, samples und sources.
Dann die Include, Lib, und Path Variable erweitert, und die QTDIR gesetzt.
Dann wollte ich mit qconfigure msvc.net -debug-and-release compilieren, was auch solange gut geht, bis er qmake linken will, dann kommt der Fehler das die delayimp.lib nicht gelinkt werden konnte.
Diese ist bei dem PSDK nur als x64 Version dabei, was ich nach einer vollständigen Installation (ausser doku und source) herausgefunden hatte.

Frage 1: Habe ich irgendein SDK, etc. zu installieren vergessen?

Dann habe ich aus meinem VS.Net 2003 Academic auf einem anderen Rechner die Libs kopiert, dachte mir müsste eigentlich gehen, nachdem ich Qt gebaut habe brauche ich die eh nicht mehr. Das Linken von qmake hat dann endlich funktioniert.
Dann schon der nächste Fehler: Beim compilieren von QtCore kommen folgende Fehler:

Code: Alles auswählen

        cl -c -nologo -Zm200 -GS -wd4996 -Od -ZI -Gm -MDd -W3 -GR -EHsc -DQT_THREAD_SUPPORT -DUNICODE -DQT_LARGEFILE_S
UPPORT -DQT_EDITION=QT_EDITION_DESKTOP -DQT_NO_CAST_TO_ASCII -DQT3_SUPPORT -DQT_MOC_COMPAT -D_MSC_VER=1300 -DWIN32 -I"
C:/prog/Qt4.0.1/include" -I"tmp" -I"C:/prog/Qt4.0.1/include/QtCore" -I"C:\prog\Qt4.0.1\include\qtmain" -I"tmp" -I"C:/p
rog/Qt4.0.1/include/ActiveQt" -I"tmp\moc\debug_shared" -I"." -I"C:/prog/Qt4.0.1/mkspecs/win32-msvc.net" -Fotmp\obj\deb
ug_shared\ @C:\DOKUME~1\ADMINI~1\LOKALE~1\Temp\nm2EA.tmp
qtmain_win.cpp
c:\prog\Qt4.0.1\src\corelib\tools\qvector.h(445) : warning C4346: 'QVector<T>::iterator' : dependent name is not a type
        prefix with 'typename' to indicate a type
c:\prog\Qt4.0.1\src\corelib\tools\qvector.h(445) : error C2143: syntax error : missing ';' before 'QVector<T>::insert'
c:\prog\Qt4.0.1\src\corelib\tools\qvector.h(445) : error C2501: 'QVector<T>::iterator' : missing storage-class or type specifiers
c:\prog\Qt4.0.1\src\corelib\tools\qvector.h(445) : warning C4346: 'QVector<T>::insert' : dependent name is not a type
        prefix with 'typename' to indicate a type
c:\prog\Qt4.0.1\src\corelib\tools\qvector.h(445) : error C2143: syntax error : missing ',' before '&'
c:\prog\Qt4.0.1\src\corelib\tools\qvector.h(479) : warning C4346: 'QVector<T>::iterator' : dependent name is not a type
        prefix with 'typename' to indicate a type
c:\prog\Qt4.0.1\src\corelib\tools\qvector.h(479) : error C2143: syntax error : missing ';' before 'QVector<T>::erase'
c:\prog\Qt4.0.1\src\corelib\tools\qvector.h(479) : error C2501: 'QVector<T>::iterator' : missing storage-class or type
 specifiers
NMAKE : fatal error U1077: 'cl' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\prog\Microsoft Platform SDK\bin\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
Frage 2: Kann man Qt mit dem Toolkit überhaupt compilieren? Wenn ja, wie?

Hoffe das mir jemand helfen kann?!

mfg
uhu01
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Das mit der delayimp.lib muss ich mir mal anschauen - evtl. ist das nicht mehr nötig in vs2005
Ausserdem hast Du die falsche mkspec benutzt -> Du hast Visual Studio 2005 aber als mskspec nur 'msvc.net' angegeben.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
uhu01
Beiträge: 150
Registriert: 10. Juli 2005 20:46

Beitrag von uhu01 »

Hy!

Wie kommst du auf die Idee das ich VS2005 habe, von dem gibts doch noch kein Toolkit soweit ich weis?! Ich wär auch nicht auf die Idee gekommen die lib aus VS 2003 zu kopieren wenn ich das 2005'er habe.
Ich verwende jedenfalls VS.Net 2003 und VS Toolkit.Net 2003.

Irgendeine Idee wegen des Fehlers mit dem QVector?

mfg
uhu01
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

uhu01 hat geschrieben:Hy!

Wie kommst du auf die Idee das ich VS2005 habe, von dem gibts doch noch kein Toolkit soweit ich weis?! Ich wär auch nicht auf die Idee gekommen die lib aus VS 2003 zu kopieren wenn ich das 2005'er habe.
Ich verwende jedenfalls VS.Net 2003 und VS Toolkit.Net 2003.
Sorry, habe mich verlesen - normalerweise benutzt ein Privatanwender VS2005Express, zumal wenn er das Platform SDK runterlädt...
In den Vollversionen ist das ja schon immer dabei.
uhu01 hat geschrieben: Irgendeine Idee wegen des Fehlers mit dem QVector?
mfg
uhu01
Nein, noch nicht - ich habe auf Arbeit auch .NET2003 und da funktioniert es.
Schaue es mir aber mal an.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Das ging aber schnell :)
Dein VisualStudio wird von qmake nicht korrekt erkannt und deshalb als MSVC-Version 13.00 (also .NET) verwendet. Dabei sollte es aber 13.10 sein (.NET2003). Dadurch wird in qglobal.h etwas falsch gesetzt und der Fehler ist das Resultat...

Ich wette .NET2003 in der Academic-version benutzt einen anderen Registry-Pfad (so wie 2005 und 2005 Express auch).
Schau bitte mal in deine Registry (per regedit.exe), wie der Pfad für dein Visual Studio ist. Für .NET2003 ist lautet er:

Code: Alles auswählen

HKEY_LOCAL_MACHINE/Software/Microsoft/VisualStudio/8.0/Setup/VC/ProductDir
Evtl. lautet es bei dir aber

Code: Alles auswählen

HKEY_LOCAL_MACHINE/Software/Microsoft/VisualStudioAcademic/8.0/Setup/VC/ProductDir
Kannst du bitte mal nachschauen damit ich weiss welchen Pfad ich benutzen soll?
Zum Test kannst Du ihn in qt-4/qmake/generators/win32/msvc_vcproj.cpp mal an Stelle von 'const char* _regNet2003' eintragen und schauen ob Qt dann korrekt compiliert wird (bei qconfigure.bat wieder anfangen!).
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
uhu01
Beiträge: 150
Registriert: 10. Juli 2005 20:46

Beitrag von uhu01 »

Hy!

Ich habe gerade auf einer anderen Festplatte XP neu installiert, und probiere es dort gerade noch einmal aus. Schreibe dann was dabei herausgekommen ist. Wenn ich irgendwie helfen kann, einfach schreiben...

PS: warum sollte ich bei VS 2003 nicht das PSDK installieren? Zumindest das Update auf XPSP2 SDK, und ausserdem hatte ich das PSDK auf dem Rechner installiert auf dem ich das Toolkit installiert hatte, da sind nämlich nur die Standart C/C++ Libs dabei, also keine Windows.h etc.

mfg
uhu01
uhu01
Beiträge: 150
Registriert: 10. Juli 2005 20:46

Beitrag von uhu01 »

Hy!

Die Fehler die ich hatte lagen eindeutig an Toolkit, denn mit dem Installierten VS ist es kein Problem das ganze zu Compilieren. Das compilieren ist zwar noch nicht ganz fertig, bin jedoch schon bei QXml angekommen, der QVector sollte also keine Fehler mehr machen.

mfg
uhu01
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Komisch - ich bin mir sicher dass ich auch das neueste Platform SDK habe (in Verbindung mit msvc2005 express) und es funktioniert bei mir.
Eventuell nur ein Pfad falsch gesetzt...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
uhu01
Beiträge: 150
Registriert: 10. Juli 2005 20:46

Beitrag von uhu01 »

Hy!

Komisch: Bei meinem Visual Studio Academic gibt es in der Registry garkeinen Ordner "...\8.0".
Ich habe nur 7.0; 7.0Exp; 7.1; 7.1Exp; SxS ?!
Kompilieren hat unter Visual Studio .Net 2003 Pro funktioniert (von nem Freund der's in seiner Firma hat), bei der Academic nicht, das eigentliche Problem war jedoch das es nicht mit dem Visual Toolkit funktioniert hat.

Hab das Toolkit noch auf nem Rechner installiert auf dem nix drauf war, es setzt (wie zu erwarten) keinen der Registry einträge nach denen du mich gefragt hattest.

mfg
uhu01
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

uhu01 hat geschrieben:Hy!

Komisch: Bei meinem Visual Studio Academic gibt es in der Registry garkeinen Ordner "...\8.0".
Ich habe nur 7.0; 7.0Exp; 7.1; 7.1Exp; SxS ?!
Kompilieren hat unter Visual Studio .Net 2003 Pro funktioniert (von nem Freund der's in seiner Firma hat), bei der Academic nicht, das eigentliche Problem war jedoch das es nicht mit dem Visual Toolkit funktioniert hat.

Hab das Toolkit noch auf nem Rechner installiert auf dem nix drauf war, es setzt (wie zu erwarten) keinen der Registry einträge nach denen du mich gefragt hattest.

mfg
uhu01
Klar das es kein 8.0 gibt - du hast ja .NET2003, also solltest du in 7.1 schauen...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
uhu01
Beiträge: 150
Registriert: 10. Juli 2005 20:46

Beitrag von uhu01 »

Hy!

Tut mir leid, aber den Schlüssel Setup gibt es in keinem der Versionsordner...
Wenn du jedoch nur den Pfad brauchst kannst du folgende verwenden:
...\SxS\VC7\7.1
Da ist der Installpfad vom Visual C++ drin. Weis allerdings nicht ob es den Ordner bei der Academic standartmäsig gibt, schau aber noch nach... (andere Festplatte und "schnell" installieren)

mfg
uhu01
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Nein, den kann ich nicht nehmen. Ich kann mir beim besten Willen nict vorstellen das die Academic version diesen Registry-key nicht haben soll wenn *alle* anderen Versionen diesen haben.
Suche in HKLM\Software\Microsoft mal nach dem Wert 'ProductDir'
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
uhu01
Beiträge: 150
Registriert: 10. Juli 2005 20:46

Beitrag von uhu01 »

Hy!

Entschuldige bitte, aber ich hatte mich anscheinend verlesen (oder sowas).
Der Pfad ist HKLM\SOFTWARE\Microsoft\VisualStudio\7.1\Setup\VC\ProductDir

mfg
uhu01
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Dann müsste das qmake mit dem patch aber dies auch korrekt erkennen...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
uhu01
Beiträge: 150
Registriert: 10. Juli 2005 20:46

Beitrag von uhu01 »

Hy!

Scheint daran gelegen zu haben das das Visual Toolkit ebenfalls auf dem Rechner installiert war, hat sich irgendwie nicht vertrage.

Womit wir wieder bei dem eigentlichen Problem wären, das der ACS nicht mit dem VSToolkit funktioniert.

mfg
uhu01
Antworten