2016-06-30 18 views
1

Ich kann ein einfaches Qt-Projekt (ein Beispiel mit dem Hauptfenster) nicht kompilieren. Ich habe es über die Kommandozeile und auch über QtCreator versucht. Zuerst sollte qmake Makefile mit der Befehlsregel uic erstellen, um so einfach wie es sein soll, in eine .h zu übersetzen.Konnte kein Qt-Projekt in qtcreator kompilieren

Qt Creator zeigt die folgenden Warnungen/Fehlermeldungen auf der Konsole an.

09:06:30: Running steps for project untitled... 
09:06:30: Starting: "D:\QT\qt-everywhere-opensource-src-5.6.0\qtbase\bin\qmake.exe" C:\workspace_llb_27-05-2016\untitled\untitled.pro -r -spec win32-g++ 
09:06:32: The process "D:\QT\qt-everywhere-opensource-src-5.6.0\qtbase\bin\qmake.exe" exited normally. 
09:06:32: Starting: "C:\mingw\mingwx64_481r0-sjlj-rev2\bin\mingw32-make.exe" 
C:/mingw/mingwx64_481r0-sjlj-rev2/bin/mingw32-make -f Makefile.Debug 
mingw32-make[1]: Entering directory 'C:/build_untitled_Qt_5_6_0_Built_by_mingwx64_481r0_sjlj_rev2_Debug' 
/C/build_untitled_Qt_5_6_0_Built_by_mingwx64_481r0_sjlj_rev2_Debug/uic_wrapper.sh ../workspace_llb_27-05-2016/untitled/mainwindow.ui -o ui_mainwindow.h 
Makefile.Debug:318: recipe for target 'ui_mainwindow.h' failed 
process_begin: CreateProcess(NULL, /C/build_untitled_Qt_5_6_0_Built_by_mingwx64_481r0_sjlj_rev2_Debug/uic_wrapper.sh ../workspace_llb_27-05-2016/untitled/mainwindow.ui -o ui_mainwindow.h, ...) failed. 
make (e=2): Le fichier spécifié est introuvable. 

mingw32-make[1]: *** [ui_mainwindow.h] Error 2 
mingw32-make[1]: Leaving directory 'C:/build_untitled_Qt_5_6_0_Built_by_mingwx64_481r0_sjlj_rev2_Debug' 
Makefile:34: recipe for target 'debug' failed 
mingw32-make: *** [debug] Error 2 
09:06:33: The process "C:\mingw\mingwx64_481r0-sjlj-rev2\bin\mingw32-make.exe" exited with code 2. 
Error while building/deploying project untitled (kit: Qt 5.6.0 (Built by mingwx64_481r0-sjlj-rev2)) 
When executing step "Make" 

Dank

+0

Aus irgendeinem Grund sieht es aus wie ui_mainwindow.h in nicht vorhanden, wahrscheinlich konnte uic_wrapper es nicht generieren. Ich schlage vor, separat nur Hauptfenster.ui zu kompilieren und zu sehen, ob das funktioniert. – Marco

+0

Danke für Ihre Antwort Marco. es scheint nicht zu funktionieren. Ich öffne Eingabeaufforderung, wo ich ui_wrapper.bat und mein Hauptfenster.ui dann habe ich die Befehlszeile uic_wrapper.bat -o mainwindow.ui ui_mainwindow.h aber es funktioniert nicht und es sollte das Makefile sein, das die uic.exe invock – Loki

Antwort

0

ich vielleicht etwas falsch mit Ihrem Desktop-Kit bin Verdacht. Ich habe versucht, einen neuen Standard-mainwindow Projekt nur erstellen möchten, wie Sie tat, und ich sehe die ersten Schritte wie unten:

14:48:15: Running steps for project untitled... 
14:48:15: Starting: "D:\Qt\Qt5.6.0\5.6\mingw49_32\bin\qmake.exe" C:\untitled\untitled.pro -r -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug" 
14:48:16: The process "D:\Qt\Qt5.6.0\5.6\mingw49_32\bin\qmake.exe" exited normally. 
14:48:16: Starting: "D:\Qt\Qt5.6.0\Tools\mingw492_32\bin\mingw32-make.exe" 
D:/Qt/Qt5.6.0/Tools/mingw492_32/bin/mingw32-make -f Makefile.Debug 

Man merkt, kann es einen Unterschied zwischen dem qmake Pfad meiner Anwendung verglichen mit zu Ihnen.

Mine looks like this: D:\Qt\Qt5.6.0\5.6\mingw49_32\bin\qmake.exe 
Yours looks like this: D:\QT\qt-everywhere-opensource-src-5.6.0\qtbase\bin\qmake.exe 

Und ich denke, qt-everywhere-opensource-src-5.6.0 sieht aus wie der Qt-Quellcode, die Sie von Web gezogen haben könnten. Ich hoffe, diese Information gibt Ihnen einen Anhaltspunkt, um herauszufinden, was falsch läuft.

+0

vielen dank für ihre hilfe. Ich habe diesen Punkt nie bemerkt. Mein wahrer Pfad zu Qt-Tools ist D: \ QT \ qt-überall-opensource-src-5.6.0 \ qtbase \ bin \ qmake.exe. und es generiert die uic_wrapper.bat korrekt in meinem Build-Verzeichnis, aber im Makefile.Debug fehlgeschlagen. aber wenn ich uic_wrapper.bat so laufe: uic_wrapper.bat -o ui_mainwindow.h mainwindow.ui. Ich kann mein ui_mainwindow.h rausholen und dann mein Projekt starten. Ich weiß nicht, wo ist die Gruft – Loki

+0

Ich bemerke etwas im Makefile. Selbst wenn ich das qmake wie folgt starte: qmake.exe untitled.pro -r -spec win32-g ++ Ich könnte Linux-Befehl wie rm -f oder das \ anstelle von/in Makefile finden. Was zum Teufel der qmake verwendet Linux-Befehl beim Erstellen von Makefile. – Loki

+0

Ich versuche immer noch, dieses Problem zu lösen. Ich bin mir sicher, dass es aus der falschen Umgebung kommt. Ich ändere in dem Makefile.debug uic_wrapper.sh zu .bat aber nichts ändert sich noch. Hier meine Ausgabekonsole in qtcreator. – Loki

3

Ich finde die Lösung schließlich. Wenn es mir passiert, kann es jedem passieren. Eigentlich hat alles funktioniert, bevor ich Gitbash installiert habe. Ich habe als Variablensystem den Bin von Gitbash zu meinem Pfadsystem gesetzt. Allerdings enthält gitbach sh.exe welches Unix-Tool. Also jedes Mal, wenn ich über Qtcreator oder Konsole 2 baute, wurden uic_wrapper eine .sh eine .bat erstellt und alle meine Makefile waren unix wie. Kurz gesagt: Setzen Sie niemals UNIX TOOL auf Ihr Windows-System. Mingw könnte MSYS enthalten passen auf !! Zumindest die meisten Tools orientierte Entwicklung sind UNIX wie.

+0

Wow danke, es hat mein Problem gelöst. Ich habe sh.exe aus dem Pfad entfernt und führe dann Qmake erneut aus, und jetzt verwendet das Makefile Windows-Befehle anstelle von Unix (z. B. cp => copy, rm => remove usw.). – fbonnet

Verwandte Themen