Nach Windows Upgrade will qmake nicht mehr



  • Hallo alle

    Ich habe gerade auf Windows 8 upgegradet, aber nun will mein QMake nicht mehr - der Button links unten wird einfach mit einem roten Balken darüber dargestellt ("Erstellen"). Erst wenn ich dann auf "Kompilierung" gehe sehe ich:

    19:37:06: Führe Schritte für Projekt pwb aus...
    19:37:06: Der Prozess "C:\Qt5.0.0\5.0.0\msvc2010\bin\qmake.exe" "C:\Users\RT\Desktop\QT Projekte\pwb\pwb\pwb.pro" -r -spec win32-msvc2010 nicht gestartet werden
    Error while building/deploying project pwb (kit: Desktop)
    Bei der Ausführung von Schritt 'qmake'

    Ich habe Visual Express 2012 installiert außerdem. Was habe ich falsch gemacht? Bzw was fehlt ihm?


  • Moderators

    Existiert C:\Qt5.0.0\5.0.0\msvc2010\bin\qmake.exe? Kannst Du dass im Terminal ausführen?



  • C:\Users\RT>C:\Qt5.0.0\5.0.0\msvc2010\bin\qmake.exe
    Usage: C:\Qt5.0.0\5.0.0\msvc2010\bin\qmake.exe [mode] [options] [files]

    QMake has two modes, one mode for generating project files based on
    some heuristics, and the other for generating makefiles. Normally you
    shouldn't need to specify a mode, as makefile generation is the default
    mode for qmake, but you may use this to test qmake on an existing project ...

    Ich würde also sagen ja :)


  • Moderators

    Vielleicht findet er dann ein Paar libs nicht, wenn er von Creator aus gestartet wird. Eigentlich unwahrscheinlich, da qmake eigentlich statisch gelinkt sein sollte. Zeigt depends irgendwas verdächtiges?



  • bq. Zeigt depends irgendwas verdächtiges?

    Bitte etwas genauer werden :) Was ist "depends" und was soll ich suchen/finden?


  • Moderators

    Ich glaube das Ding heisst Dependency Walker oder so ähnlich... ich benutze kein Windows und kenne mich da nicht gut mit aus:-)

    Verdächtig im Sinne von "kann nicht gefunden werden" oder "wird gefunden, aber irgendwo wo es nicht im Standard-PATH ist", sowas halt.


  • Moderators

    Der Dependency Walker kann "hier":http://www.dependencywalker.com/ heruntergeladen werden. War früher einmal Bestandteil von Windows.



  • Mit dem öffne ich dann meinen *.pro file?



  • Ich weiss nun schon, dass ich mit dem mein *.pro File nicht öffne. Aber was mache ich nun mit diesem Depends?


  • Moderators

    Mit depends kannst Du nur ein exe öffnen. Das zeigt dir dann welche Abhängigkeiten von dlls existieren.



  • Aber welche EXE öffne ich denn nun? kann ja qmake nicht mal ausführen?


  • Moderators

    Sorry, ist mir kurz danach aufgefallen, dass dies nur die allerletzte Frage beantwortet.

    Mir ist auch nicht ganz klar, was dir der "Dependency Walker" bringen soll. Da hatte Tobias was eventuell falsch zu geordnet. Kann ja mal passieren. :(

    Nun Bezug zu den ersten beiden Posts von dir.

    qmake ist vorhanden und ausführbar. Versuch es doch mal mit dem Befehl wie aus dem ersten Post auf dem gleichen Direktory.
    @
    “C:\Qt5.0.0\5.0.0\msvc2010\bin\qmake.exe” “C:\Users\RT\Desktop\QT Projekte\pwb\pwb\pwb.pro” -r -spec win32-msvc2010
    @

    Dies ist ein einziger Befehl und müsste in der Kommandozeile so laufen.

    Vielleicht sieht man da was brauchbares.

    Als Randnotiz: Ich bin kein Qt creator Experte :(



  • http://666kb.com/i/cb6cs2g1w0a29vgc5.png

    Ich glaube, dass das hier das Problem ist, kann das sein?


  • Moderators

    Ja, das ist so.
    Du musst eine Tool-chain installieren. Du hattest es zwar schon in der ersten email erwähnt, aber es ist dann untergegangen. MSVC2012 passt nicht zu MSVC2010. :(
    Versionen von unterschiedlichen Compilern (auch wenn es der gleiche Hersteller ist), passen selten zusammen. Bei MS war bislang das auch so. Ich weiss es nicht 100%, aber ich gehe davon aus, dass MSVC2012 und MSVC2010 nicht kompatibel sind.
    Daher findet Qt creator keinen passenden Compiler. Schaue einmal auf der "Microsoft-Seite":http://www.microsoft.com/en-us/download/search.aspx?q=visual+studio nachdem MSVC2010 Express. An oberster Stelle sehe nur den Service Pack. Entweder msvc2010 kommt später oder du kannst auch msvc2008 nehmen. Dann musst Du allerdings auch die vorübersetzte Qt-Version für MSVC2008 verwenden.


  • Moderators

    Sorry, habe gerade bemerkt, dass Qt 5.0.1 nicht für MSVC2008 angeboten wird. Musst halt mal schauen, dass Du den MSVC2010 da findest.

    Allerdings kannst Du seit gestern auch wieder eine SDK mit Compiler herunterladen. Dies wäre "die Version mit MinGW compiler":http://releases.qt-project.org/qt5/5.0.1/qt-windows-opensource-5.0.1-mingw47_32-x86-offline.exe



  • Habe QT und MSVC jetzt mal deinstalliert und die Version mit MinGW Compiler installiert. Qmake funktioniert jetzt. Allerdings, wenn ich auf Ausführen klicke, kommt nun:

    @11:10:25: Führe Schritte für Projekt pwb aus...
    11:10:25: Unveränderte Konfiguration, qmake-Schritt wird übersprungen.
    11:10:25: Starte "C:\Qt5.0.1\Tools\MinGW\bin\mingw32-make.exe"
    C:/Qt5.0.1/Tools/MinGW/bin/mingw32-make -f Makefile.Debug
    mingw32-make[1]: Entering directory 'C:/Users/RT/Desktop/QT Projekte/pwb/pwb-build-Desktop_Qt_5_0_1_MinGW_32bit-Debug'
    g++ -c -pipe -fno-keep-inline-dllexport -g -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_NEEDS_QMAIN -I..\pwb -I"............\Qt5.0.1\5.0.1\mingw47_32\include" -I"............\Qt5.0.1\5.0.1\mingw47_32\include\QtGui" -I"............\Qt5.0.1\5.0.1\mingw47_32\include\QtCore" -I"debug" -I"." -I"............\Qt5.0.1\5.0.1\mingw47_32\mkspecs\win32-g++" -o debug\main.o ..\pwb\main.cpp
    ..\pwb\main.cpp:1:30: fatal error: QtGui/QApplication: No such file or directory
    compilation terminated.
    Makefile.Debug:491: recipe for target 'debug/main.o' failed
    mingw32-make[1]: *** [debug/main.o] Error 1
    mingw32-make[1]: Leaving directory 'C:/Users/RT/Desktop/QT Projekte/pwb/pwb-build-Desktop_Qt_5_0_1_MinGW_32bit-Debug'
    makefile:34: recipe for target 'debug' failed
    mingw32-make: *** [debug] Error 2
    11:10:25: Der Prozess "C:\Qt5.0.1\Tools\MinGW\bin\mingw32-make.exe" wurde mit dem Rückgabewert 2 beendet.
    Error while building/deploying project pwb (kit: Desktop Qt 5.0.1 MinGW 32bit)
    Bei der Ausführung von Schritt 'Make'@

    Aufgrund der letzten Zeile frage ich mich aber, ob vielleicht doch ein Fehler mit Qmake vorliegt?


  • Moderators

    Nein. Das kann kein Fehler von qmake sein. An dieser Stelle wird mingw32-make ausgeführt. Es handelt sich um eine normale (wenn etwas missverständliche) Fehlermeldung. Dies geht aber nicht anders.

    qmake ist nur eine Vorstufe zum Erzeugen eines sogenannten makefiles. Dieses wird dann von speziellen makes (in diesem Falle mingw32-make oder bei msvc von nmake) ausgeführt.

    Irgendetwas passt hier nicht zusammen. Ich gehe davon aus, dass Du irgendwelche Beispiele erst einmal versuchst zu kompilieren. Du verwendest Qt5 und hast vielleicht ein Beispiel aus einem Buch für Qt4 oder sowas. Bei den Includes hat sich etwas geändert. Leider habe ich mich noch nicht mit Qt5 beschäftigt und weiss da nicht so Bescheid.

    Laut der Beschreibung sollte ein
    @
    #include <QApplication>
    @
    genügen. Nach der Fehlermeldung (Zeile 6.) sollte es auch egal sein

    Poste mal bitte dein .pro und den Quelltext des Programmes (main.cpp).



  • Kann es sein dass ich hier ein wenig auf Kompatibilitätsprobleme stoße? QApplication habe ich schon included ...

    Die main.cpp
    @#include <QtGui/QApplication>
    #include "mainwindow.h"

    int main(int argc, char *argv[])
    {
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec&#40;&#41;;
    

    }@

    Ich kriege nun so Fehlermeldungen wie "C:\Users\RT\Desktop\QT Projekte\pwb\pwb\main.cpp:1: Fehler:QtGui/QApplication: No such file or directory"

    Das selbe passiert in einem Paket dass ich verwende um per OpenGL Graphen zu zeichnen massiv oft:

    http://www.WorksLikeClockWork.com/index.php/components/qt-plotting-widget dieses Paket nutze ich um Graphen zu zeichnen - mit meiner 4.8 Umgebung geht das alles noch herrlich gut :( Jetzt kriege ich bei einigen includes Fehlermeldungen, zb bei:

    @#include <QWidget>
    #include <QPrinter>@
    Die allerdings laut den Kommentaren auf workslikeclockwork.com daran liegen, dass das Paket erst QT5 ready gemacht werden muss, das ist angeblich sehr bald der Fall, darauf warte ich mal.


  • Moderators

    Hier muss ich passen, da mir die Qt5-Erfahrung fehlt. Es gibt einige Unterschiede und Anpassungen zwischen Qt4 und Qt5 im Bereich der Includes.

    Seit gestern ist der neue Update Qt5.0.1 verfügbar. Du wirst bislang nur Aussagen zur Kompatibilität von Qt5.0.0 finden. Angeblich sind nun sehr viele Bugs bereinigt worden.

    Da Du nun eine Version mit und für MinGW verwendest, hast Du auf alle Fälle die aktuelle Version. Dort wird mit Sicherheit noch nichts alles fehlerfrei sein, aber wesentlich besser als bei Qt5.0.0



  • Habe ich richtig herausgelesen dass ich

    #include <QApplication> statt
    #include <QtGui/QApplication>

    brauche ab Version 5.0? Oder sehe ich das falsch?


  • Moderators

    Laut Doku schon. Allerdings ist dies mehr im Nebel gestochert als eine fundierte Aussage.

    [quote author="xtlc" date="1359713582"]
    @11:10:25: Starte "C:\Qt5.0.1\Tools\MinGW\bin\mingw32-make.exe"
    C:/Qt5.0.1/Tools/MinGW/bin/mingw32-make -f Makefile.Debug
    mingw32-make[1]: Entering directory 'C:/Users/RT/Desktop/QT Projekte/pwb/pwb-build-Desktop_Qt_5_0_1_MinGW_32bit-Debug'
    g++ -c -pipe -fno-keep-inline-dllexport -g -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_NEEDS_QMAIN -I..\pwb -I"............\Qt5.0.1\5.0.1\mingw47_32\include" -I"............\Qt5.0.1\5.0.1\mingw47_32\include\QtGui" -I"............\Qt5.0.1\5.0.1\mingw47_32\include\QtCore" -I"debug" -I"." -I"............\Qt5.0.1\5.0.1\mingw47_32\mkspecs\win32-g++" -o debug\main.o ..\pwb\main.cpp
    ..\pwb\main.cpp:1:30: fatal error: QtGui/QApplication: No such file or directory
    compilation terminated.
    @
    [/quote]
    Du müsstest mal nachschauen ob auf dem angegebenen Includes eine Datei QApplication vorhanden ist.
    Dies wären wohl auf diesen beiden Ordnern:
    @
    c:\Qt5.0.1\5.0.1\mingw47_32\include
    c:\Qt5.0.1\5.0.1\mingw47_32\include\QtGui
    @



  • Wer hat das denn so upgef*ckt?



  • C:\Qt5.0.1\5.0.1\mingw47_32\include\QtWidgets\QApplication gibt es... also

    #include <QtWidgets/QApplication>

    Falls wer das selbe Problem hatte löst das. QApplication ist mit Version 5.0.1 in den Unterordner QtWidgets gewandert.



  • Das steht aber im Porting Guide so beschrieben.
    Es gibt auch ein Skript, das die Portierung erledigen soll; das hat aber zumindest bei mir nicht funktioniert.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.