Qt Creator findet meine Headerfiles nicht
-
Hallo,
mal wieder habe ich ein kleines Problem:
Bisher habe ich in Sachen Qt ohne eine IDE programmiert (Quell- und Headerfiles im Editor, UI mit dem Designer und den Buildvorgang über die Konsole angestoßen).
In letzter Zeit hatte ich beruflich aber viel mit Visual Studio zu tun, und war dann vom Komfort etwas verwöhnt, weshalb ich dem Creator dann doch noch mal eine Chance geben wollte.
Also habe ich mein .pro-File dort geöffnet, hat soweit auch geklappt. Jedoch findet der Creator keinen meiner Header, ein einfaches "make" hat vorher immer problemlos funktioniert...
Hier die Fehlermeldung des Compilers:17:32:12: Führe Schritte für Projekt Notenprog aus... 17:32:12: Unveränderte Konfiguration, qmake-Schritt wird übersprungen. 17:32:12: Starte "C:\MinGW\bin\mingw32-make.exe" C:/MinGW/bin/mingw32-make -f Makefile.Debug mingw32-make[1]: Entering directory `C:/SM-build-Qt_5_0_1-Debug' g++ -c -pipe -fno-keep-inline-dllexport -g -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_NEEDS_QMAIN -I..\SpeedMark -I"..\Qt\qdbf\src\src" -I"..\SpeedMark\functions" -I"..\SpeedMark\dialogs" -I"..\Qt\Qt5.0.1\5.0.1\mingw47_32\include" -I"..\Qt\Qt5.0.1\5.0.1\mingw47_32\include\QtXml" -I"..\Qt\Qt5.0.1\5.0.1\mingw47_32\include\QtGui" -I"..\Qt\Qt5.0.1\5.0.1\mingw47_32\include\QtCore" -I"debug" -I"." -I"..\Qt\Qt5.0.1\5.0.1\mingw47_32\mkspecs\win32-g++" -o debug\dialog_anlegen.o ..\SpeedMark\dialogs\dialog_anlegen.cpp In file included from ..\SpeedMark\dialogs\dialog_anlegen.cpp:3:0: ..\SpeedMark\dialogs\/dialog_anlegen.h:4:19: fatal error: QDialog: No such file or directory compilation terminated.
Mein .pro-File sieht so aus:
TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += C:/Qt/qdbf/src/src LIBS += -LC:/Qt/qdbf/bin -lQDbf QT += xml # Input INCLUDEPATH += functions dialogs HEADERS += dialogs/dialog_anlegen.h dialogs/dialog_open.h notentab.h FORMS += dialogs/dialog_anlegen.ui dialogs/dialog_open.ui interface.ui SOURCES += dialogs/dialog_anlegen.cpp dialogs/dialog_open.cpp main.cpp notentab.cpp functions/anlegen.cpp functions/open.cpp functions/plus.cpp \ functions/minus.cpp functions/about.cpp functions/save.cpp functions/ansicht_klasse.cpp functions/ansicht_noten.cpp functions/check.cpp
Das scheint wohl an dem Backslash zuviel zu liegen, hab aber keine Ahnung, wie ich den wegbekommen soll. Ein Versuch mit absoluten Pfadangaben hat auch nicht zum Erfolg geführt...
Gruß
Julian
-
bei dir fehlt
ersetzeQT += xml
durch
QT += core gui xml
Denn der compiler findet deine Header nur die Header von QtGui/QtWidget(>= Qt5)
nicht.EDIT: ach ich sehe du verwendest Qt5
dann muss du satt "gui" "widgets" in der "QT +=" zeile angeben:QT += core widgets xml
ODer du schaust dir mal an wie der qtcreator die pro Datei anlegt, wenn du beim erstellen eines neuen Projektes ein Gui app auswählst.
-
Hallo firefly, vielen Dank für den Hinweis!
Nur hat er leider nicht zum Erfolg geführt - nach wie vor der Error. Habe auch wie empfohlen mal ein frisches Projekt erstellt, und den betreffenden Bereich übernommen - keine Änderung.Unterdessen habe ich auf einem Zweitrechner etwas rumprobiert und es scheint an Folgendem zu liegen: Ich habe Qt5.0.1 nachinstalliert, die 4.8.3 ist aber nach wie vor auf der Platte. Mit der 5er-Installation kam auch eine zweite Installation von MinGW hinzu, und zwar im Qt-Ordner. Das hat wohl einen Konflikt verursacht. Nach der Deinstallation von Qt5 und dem Löschen des Profils im Creator funktioniert alles wie es soll.
Ist es sinnvoll, jetzt endgültig auf die 5er umzusteigen?
Denn mir war nicht wohl dabei, meine gut funktionierende 4er-Installation zu löschen, daher habe ich lieber die 5er wieder entfernt...
-
Qt5 ist aktuell schon recht nett, und für manche Projekte ergibt der Umstieg sinn.
Aber, ich würde da noch auf 5.1 warten, das wird einige Bugfixes bringen. Gerade für Windows.Interessant ist Qt5 unter anderem wegen dem neuen Multimedia framework.