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
    ersetze

    QT += 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... 😕


  • Mod

    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.


Log in to reply