Windows 7 SDK in Qt Creator 3.0.0 einrichten
-
Hallo,
da mich das Qt Framework brennend interessiert habe ich mich schon seit einiger Zeit mit dem Qt Creator befasst. Nun wollte ich, neben dem mitgelieferten MinGW-Compiler auch den MSVC2010-Compiler mit dem Creator benutzen. Dazu habe ich die aktuelle Offline-Version '5.2.0-msvc2010-x86' installiert. Anschließend habe ich mir das Windows 7 SDK heruntengeladen und ebenfalls installiert. Nach einem Neustart des Creator hat dieser die SDK-Installation auch erkannt. Leider konnte kein Compiler gefunden werden. Auch diesen habe ich dann als Benutzerdefinierte Konfiguration hinbekommen. Im Einstellungsdialog des Qt-Creator werden keine Fehler angezeigt. Jedoch kann ich nichts kompilieren, da der Vorgang mit folgender Meldung abbricht.
20:10:19: Führe Schritte für Projekt msvc-test1 aus...
20:10:19: Starte "C:\Qt\Qt5.2.0\5.2.0\msvc2010\bin\qmake.exe" C:\Users\Administrator\Documents\msvc-test1\msvc-test1.pro -r "CONFIG+=debug" "CONFIG+=declarative_debug" "CONFIG+=qml_debug"
20:10:19: Der Prozess "C:\Qt\Qt5.2.0\5.2.0\msvc2010\bin\qmake.exe" wurde normal beendet.
20:10:19: Starte "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\nmake.exe"
"C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\nmake.exe" -f Makefile.Debug
C:\Qt\Qt5.2.0\5.2.0\msvc2010\bin\uic.exe ..\msvc-test1\mainwindow.ui -o ui_mainwindow.h
C:\Qt\Qt5.2.0\5.2.0\msvc2010\bin\moc.exe -DUNICODE -DWIN32 -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -D_MSC_VER=1600 -D_WIN32 -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtWidgets" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtGui" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtANGLE" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtCore" -I"debug" -I"." -I"." -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\mkspecs\win32-msvc2010" ..\msvc-test1\mainwindow.h -o debug\moc_mainwindow.cpp
cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -GR -W3 -w34100 -w34189 -EHsc -DUNICODE -DWIN32 -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtWidgets" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtGui" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtANGLE" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtCore" -I"debug" -I"." -I"." -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\mkspecs\win32-msvc2010" -Fodebug\ @C:\Users\ADMINI~1\AppData\Local\Temp\nmAA15.tmp
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\cl.EXE"' : return code '0xc0000135'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\nmake.exe"' : return code '0x2'
Stop.
20:10:19: Der Prozess "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\nmake.exe" wurde mit dem Rückgabewert 2 beendet.
Fehler beim Erstellen/Deployment des Projekts msvc-test1(Kit: Desktop Qt 5.2.0 MSVC2010 32bit)
Bei der Ausführung von Schritt 'Make'
20:10:19: Verstrichene Zeit: 00:01.Ich würde mich sehr über Hilfe freuen um den MSVC2010 Compiler im Qt Creator zum laufen zu bekommen.
Ich kann leider keine Screenshots hier posten. Evtl. per eMail.Vielen Dank,
Grüße Netzschleicher
-
das liegt daran, dass ein paar env variablen nicht passen siehe auch
http://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/97ebc510-25f2-4747-8d4f-185038d805d4/nmake-fatal-error-u1077-using-windows-7-sdk-rc-release?forum=windowssdkfür eine korrekte einbindung siehe http://stackoverflow.com/questions/3791808/how-can-i-use-the-windows-sdk-with-qt-creator
-
Ich habe diese Zeilen so wie in dem Link beschrieben eingefügt.
Nun läuft das Compilieren durch. Allerdings bekomme ich beim Linken dann einen Fehler.
Wobei mir dieser eher danach aussieht als ob die Librarys nicht kompatibel mit dem Compiler im SDK sind.20:30:59: Führe Schritte für Projekt msvc-test1 aus...
20:30:59: Unveränderte Konfiguration, qmake-Schritt wird übersprungen.
20:30:59: Starte "C:\Qt\Qt5.2.0\Tools\QtCreator\bin\jom.exe"
C:\Qt\Qt5.2.0\Tools\QtCreator\bin\jom.exe -f Makefile.Debug
cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -GR -W3 -w34100 -w34189 -EHsc -DUNICODE -DWIN32 -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtWidgets" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtGui" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtANGLE" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtCore" -I"debug" -I"." -I"." -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\mkspecs\win32-msvc2010" -Fodebug\ @C:\Users\ADMINI~1\AppData\Local\Temp\main.obj.2748.0.jom
main.cpp
C:\Qt\Qt5.2.0\5.2.0\msvc2010\bin\moc.exe -DUNICODE -DWIN32 -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -D_MSC_VER=1600 -D_WIN32 -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtWidgets" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtGui" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtANGLE" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtCore" -I"debug" -I"." -I"." -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\mkspecs\win32-msvc2010" ..\msvc-test1\mainwindow.h -o debug\moc_mainwindow.cpp
cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -GR -W3 -w34100 -w34189 -EHsc -DUNICODE -DWIN32 -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtWidgets" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtGui" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtANGLE" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtCore" -I"debug" -I"." -I"." -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\mkspecs\win32-msvc2010" -Fodebug\ @C:\Users\ADMINI~1\AppData\Local\Temp\mainwindow.obj.2748.219.jom
mainwindow.cpp
cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -GR -W3 -w34100 -w34189 -EHsc -DUNICODE -DWIN32 -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtWidgets" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtGui" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtANGLE" -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\include\QtCore" -I"debug" -I"." -I"." -I"..\..\..\..\Qt\Qt5.2.0\5.2.0\msvc2010\mkspecs\win32-msvc2010" -Fodebug\ @C:\Users\ADMINI~1\AppData\Local\Temp\moc_mainwindow.obj.2748.2091.jom
moc_mainwindow.cpp
echo 1 /* CREATEPROCESS_MANIFEST_RESOURCE_ID / 24 / RT_MANIFEST / "debug\\msvc-test1.exe.embed.manifest">debug\msvc-test1.exe_manifest.rc
if not exist debug\msvc-test1.exe if exist debug\msvc-test1.exe.embed.manifest del debug\msvc-test1.exe.embed.manifest
if exist debug\msvc-test1.exe.embed.manifest copy /Y debug\msvc-test1.exe.embed.manifest debug\msvc-test1.exe_manifest.bak
link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='' processorArchitecture='*'" /MANIFEST /MANIFESTFILE:debug\msvc-test1.exe.embed.manifest /OUT:debug\msvc-test1.exe @C:\Users\ADMINI~1\AppData\Local\Temp\msvc-test1.exe.2748.3152.jom
if exist debug\msvc-test1.exe_manifest.bak fc /b debug\msvc-test1.exe.embed.manifest debug\msvc-test1.exe_manifest.bak >NUL || del debug\msvc-test1.exe_manifest.bak
if not exist debug\msvc-test1.exe_manifest.bak rc.exe /fodebug\msvc-test1.exe_manifest.res debug\msvc-test1.exe_manifest.rc
Microsoft (R) Windows (R) Resource Compiler Version 6.1.7600.16385Copyright (C) Microsoft Corporation. All rights reserved.
if not exist debug\msvc-test1.exe_manifest.bak link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='' processorArchitecture=''" /MANIFEST /MANIFESTFILE:debug\msvc-test1.exe.embed.manifest /OUT:debug\msvc-test1.exe @C:\Users\ADMINI~1\AppData\Local\Temp\msvc-test1.exe.2748.3167.jom
LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt <=== hier der Fehler
jom: C:\Users\Administrator\Documents\build-msvc-test1-Desktop_Qt_5_2_0_MSVC2010_32bit-Debug\Makefile.Debug [debug\msvc-test1.exe] Error 1123
jom: C:\Users\Administrator\Documents\build-msvc-test1-Desktop_Qt_5_2_0_MSVC2010_32bit-Debug\Makefile [debug] Error 2
20:31:04: Der Prozess "C:\Qt\Qt5.2.0\Tools\QtCreator\bin\jom.exe" wurde mit dem Rückgabewert 2 beendet.
Fehler beim Erstellen/Deployment des Projekts msvc-test1(Kit: Desktop Qt 5.2.0 MSVC2010 32bit)
Bei der Ausführung von Schritt 'Make'
20:31:04: Verstrichene Zeit: 00:05.Ich habe folgende Versionen installiert:
QT : qt-windows-opensource-5.2.0-msvc2010-x86-offline
SDK: Microsoft Windows SDK for Windows 7 (7.1.7600.0.30514)(x86)
-
Nachdem mich firely mit den beiden Links versorgt hat, habe ich es nun geschafft im Qt-Creator
den MSVC2010 Compiler einzubinden und diesen zu benutzen. Durch weitere Recherche läuft das ganz
nun so gut, das keinerlei Pfadangaben oder sonstige Ergänzungen in den Projekten gemacht werden
müssen.Ich möchte daher meine Vorgehenweise einmal darstellen. Vielleicht kann ich damit dem einen oder
anderen damit helfen.Zuerst muß dafür das 'Windows 7 SDK 7.1' installiert werden. Wichtig ist die Version 7.1, da nur dort
der MSVC2010 C++ Compiler enthalten ist. Falls sich das SDK nicht installieren lässt, sollte in der
Systemsteuerung unter 'Programme und Funktionen' nachgesehen werden, ob dort schon
'MSVC2010 Redistributable Packages' installiert sind. Falls ja, diese deinstallieren, sowohl die 32bit
als auch die 64bit Version.
Dann sollte sich das 'Windows 7 SDK 7.1' installieren lassen. Nach der Installation das
'MSVC2010 Sp1 Compiler Update' installieren. Zum Schluß dann wieder die zuvor deinstallierten
'MSVC2010 Redistributable Packages' installieren.Dann kann man die MSVC2010 QT Librarys installieren. Ich habe dieses mit dem 'QT 5.2.0 1.5 Webinstaller'
gemacht und damit meine bestehende 'Qt 5.2.0 MinGW4.8' Installation um die 'Qt 5.2.0 MSVC2010' Librarys ergänzt.
Es gibt auch eine 'Qt 5.2.0 MSVC2010 OpenGL' Library, jedoch weis ich nicht was diese genau anders macht.
Vielleicht kann dies noch jemand ergänzen und erklären.Beim nächsten Start des QT-Creators wird dann das 'Windows 7 SDK 7.1' erkannt und korrekt eingebunden.
Es müssen keinerlei Pfadangaben oder Umgebungsvariablen manuell gesetzt werden.
Es können nun neue Projekte mit dem MSVC2010 Compiler ertellt, oder bestehende Projekte auch mit dem
Microsoft Compiler übersetzt werden. Ich habe dieses an einigen Beispielprojekten mit Erfolg versucht.Getestet habe ich dieses unter Windows 7 Professional 64bit.
Vielen Dank an dieser Stelle an firefly, der mich durch seine Links auf die richtige Spur gebracht hat.
Grüße Netzschleicher
Link MSVC2010 Sp1 x86 Redist:
http://www.microsoft.com/de-de/download/details.aspx?id=8328Link MSVC2010 Sp1 x64 Redist:
http://www.microsoft.com/de-de/download/details.aspx?id=13523Link Windows 7 SDK 7.1 Installer:
http://www.microsoft.com/en-us/download/details.aspx?id=8279Link MSVC2010 Sp1 Compiler Update:
http://www.microsoft.com/de-de/download/details.aspx?id=4422