Projekte mit Qt und Dev-cpp(MinGW) kompilieren



  • Ich grabe noch einmal diesen Thread aus, weil ich das gleiche Problem mit den mkspecs habe.

    Wo kann ich das Verzeichnis richtig angeben?



  • wir haben für solche fragen ein Forum Andere GUIs - Qt, GTK+, wxWidgets ich hab den Artikel Anfang letzten Jahres geschrieben, also sei mir nicht böse wenn ich keine Detail fragen beantworten kann ;-). Aber die Makespecs kannst du unter Umgebungsvariablen ändern. Bei mir ist unter QMAKESPEC win32-g++ als wert eingetragen. Das sollte aber alles von den installations Routinen eingetragen werden.



  • Danke mosta,

    dieses Problem habe ich inzwischen halbwegs in Griff bekommen. Bei mir tut qmake jetzt mit WMAKESPEC. QMAKESPEC hatte keinerlei Wirkung.
    Allerdings findet Dev-C++ jetzt die Headerdateien von QT nicht mehr, obwohl die Pfadangaben sowohl bei den Compiler-Optionen, als auch bei den Projekt-Einstellungen richtig gesetzt sind.

    Außerdem steht in den erstellten Makefiles (Debug und Release) dieses iwmake-Pfadzeugs, das dort eigentlich nichts zu suchen hat.

    So langsam überlege ich mir ernsthaft, auf Linux umzusteigen.



  • nunja mein problem... seht selbst:

    http://img210.imageshack.us/img210/341/namenlosuv4.png



  • tja, dann such die dll und kopier sie in dein system32 ordner



  • Hallo,

    bei mir habe ich noch ein Problem, nämlich mit den Includes. Ich hatte alles prima zusammen, konnte auch kompilieren und ausführen. Nur war die Platte jetzt voll und ich wollte Dev-Cpp und Qt auf einer anderen Maschine installieren. Also alles noch mal von vorn, aber ...

    Compiler: Default compiler
    Building Makefile: "C:\Dev-Cpp\Makefile.win"
    Executing make...
    make.exe -f "C:\Dev-Cpp\Makefile.win" all
    g++.exe -c main.cpp -o main.o -I"lib/gcc/mingw32/3.4.2/include" -I"include/c++/3.4.2/backward" -I"include/c++/3.4.2/mingw32" -I"include/c++/3.4.2" -I"include" -I"C:/Dev-Cpp/qtwin/include/ActiveQt" -I"C:/Dev-Cpp/qtwin/include/Qt" -I"C:/Dev-Cpp/qtwin/include/Qt3Support" -I"C:/Dev-Cpp/qtwin/include/QtAssistant" -I"C:/Dev-Cpp/qtwin/include/QtCore" -I"C:/Dev-Cpp/qtwin/include/QtDBus" -I"C:/Dev-Cpp/qtwin/include/QtDesigner" -I"C:/Dev-Cpp/qtwin/include/QtGui" -I"C:/Dev-Cpp/qtwin/include/QtNetwork" -I"C:/Dev-Cpp/qtwin/include/QtOpenGL" -I"C:/Dev-Cpp/qtwin/include/QtScript" -I"C:/Dev-Cpp/qtwin/include/QtSql" -I"C:/Dev-Cpp/qtwin/include/QtSvg" -I"C:/Dev-Cpp/qtwin/include/QtTest" -I"C:/Dev-Cpp/qtwin/include/QtUiTools" -I"C:/Dev-Cpp/qtwin/include/QtXml" -I"C:/Dev-Cpp/include" -I"C:/Dev-Cpp/qtwin/include/ActiveQt" -I"C:/Dev-Cpp/qtwin/include/Qt" -I"C:/Dev-Cpp/qtwin/include/Qt3Support" -I"C:/Dev-Cpp/qtwin/include/QtAssistant" -I"C:/Dev-Cpp/qtwin/include/QtCore" -I"C:/Dev-Cpp/qtwin/include/QtDBus" -I"C:/Dev-Cpp/qtwin/include/QtDesigner" -I"C:/Dev-Cpp/qtwin/include/QtGui" -I"C:/Dev-Cpp/qtwin/include/QtNetwork" -I"C:/Dev-Cpp/qtwin/include/QtOpenGL" -I"C:/Dev-Cpp/qtwin/include/QtScript" -I"C:/Dev-Cpp/qtwin/include/QtSql" -I"C:/Dev-Cpp/qtwin/include/QtSvg" -I"C:/Dev-Cpp/qtwin/include/QtTest" -I"C:/Dev-Cpp/qtwin/include/QtUiTools" -I"C:/Dev-Cpp/qtwin/include/QtXml"

    In file included from C:/Dev-Cpp/qtwin/include/QtGui/qapplication.h:1,
    from C:/Dev-Cpp/qtwin/include/QtGui/QApplication:1,
    from main.cpp:1:
    C:/Dev-Cpp/qtwin/include/QtGui/../../src/gui/kernel/qapplication.h:42:37: QtCore/qcoreapplication.h: No such file or directory
    C:/Dev-Cpp/qtwin/include/QtGui/../../src/gui/kernel/qapplication.h:43:31: QtGui/qwindowdefs.h: No such file or directory
    C:/Dev-Cpp/qtwin/include/QtGui/../../src/gui/kernel/qapplication.h:44:27: QtCore/qpoint.h: No such file or directory
    C:/Dev-Cpp/qtwin/include/QtGui/../../src/gui/kernel/qapplication.h:45:26: QtCore/qsize.h: No such file or directory

    Warum findet der Compiler nun die Includes nicht mehr?

    Rainer



  • Ist es denn unbedingt nötig, dass ich immer ein neues projekt mache?
    kann ich ned einfach dev-c++ öffnen neu>quelldatei code schreiebn und kompilieren?
    da kommt immer: 12 C:\Dokumente... 'class QApplication' has no member named 'setMainWidget'

    code:

    #include <qapplication>
    #include <qpushbutton>
    
    int main( int argc, char **argv )
    {
        QApplication a( argc, argv );
    
        QPushButton hello( "Hello world!", 0 );
        hello.resize( 100, 30 );
    
        a.setMainWidget( &hello );
        hello.show();
        return a.exec();
    }
    


  • spontan würde ich sage: du vermischst da qt3 mit qt4. wenn du qt3 schreiben willst, musst du darauf achten, dass du tatsächlich die qt3-header einbindest.

    in qt4 hat QApplication (außer die qt3-support-version) kein setMainWidget mehr. du musst bei deinem widget einfach die qapplication als parent setzen. das programm wird dann beendet, wenn alle widgets, die kinder von qapplication sind, geschlossen sind.



  • phy51km4n3 schrieb:

    Also ich hab folgendes Problem:

    Ich hab Qt4 installiert und gib im qt-Verzeichnis "configure" ein.
    Da erscheint folgende Fehlermeldung:

    "Unable to detect platform from environment (... und jede menge blablabla)"

    Also gebe ich ein: "configure -platform win32-g++". Damit komme ich auch zu dem Schritt, wo ich nach Einverständis der Lizenz gefragt werde und gebe "y" ein.
    Doch dann erscheint am Ende nach
    "Examples installes to... " und "Demos installed to...." folgende Meldung:

    "Crating qmake..."
    "execute: File or path is not found (mingw32-make)"
    "execute: File or path is not found (mingw32-make)"
    "Cleaning qmake failed, return code -1"

    Dabei ist vorher alles gut gelaufen, MinGW hat der selbst runtergeladen und installiert und ich hab alles nachgeprüft, alles da.
    Also was ist los?

    Hallo phy51km4n3,

    ich hatte selbiges Problem. Du musst in der Umgebungsvariable PATH den Pfad zu der Datei "mingw32-make.exe" hinzufügen (über Systemsteuerung->System->Erweitert->Umgebungsvariablen). Dann eine neue Shell öffnen, ins QT Verzeichnis wechseln und, wie Du bereits geschrieben hast, das Script via "configure -platform win32-g++" ausführen.

    Gruß schekel



  • Hallo zusammen,

    ich habe das Problem meiner Installtion etwas eingrenzen können, aber der Grund ist mir schleierhaft (vor allem, weil es schon mal gelaufen ist). Der Compiler kann anscheinend nicht die Include-Referenzen auflösen, wenn sie in einer Kette von includes stehen und dann mit Alias arbeiten:

    make.exe -f "D:\Dev-Cpp\Makefile.win" all
    g++.exe -c main.cpp -o main.o -I"D:/Dev-Cpp/include" -I"D:/Dev-Cpp/qt/include/ActiveQt" -I"D:/Dev-Cpp/qt/include/Qt" -I"D:/Dev-Cpp/qt/include/Qt3Support" -I"D:/Dev-Cpp/qt/include/QtAssistant" -I"D:/Dev-Cpp/qt/include/QtCore" -I"D:/Dev-Cpp/qt/include/QtDBus" -I"D:/Dev-Cpp/qt/include/QtDesigner" -I"D:/Dev-Cpp/qt/include/QtGui" -I"D:/Dev-Cpp/qt/include/QtNetwork" -I"D:/Dev-Cpp/qt/include/QtOpenGL" -I"D:/Dev-Cpp/qt/include/QtScript" -I"D:/Dev-Cpp/qt/include/QtSql" -I"D:/Dev-Cpp/qt/include/QtSvg" -I"D:/Dev-Cpp/qt/include/QtTest" -I"D:/Dev-Cpp/qt/include/QtUiTools" -I"D:/Dev-Cpp/qt/include/QtXml" -I"D:/Dev-Cpp/include"

    In file included from D:/Dev-Cpp/qt/include/QtGui/qapplication.h:1,
    from D:/Dev-Cpp/qt/include/QtGui/QApplication:1,
    from main.h:1,
    from main.cpp:1:
    D:/Dev-Cpp/qt/include/QtGui/../../src/gui/kernel/qapplication.h:42:37: QtCore/qcoreapplication.h: No such file or directory
    D:/Dev-Cpp/qt/include/QtGui/../../src/gui/kernel/qapplication.h:43:31: QtGui/qwindowdefs.h: No such file or directory

    D:/Dev-Cpp/qt/include/QtGui/../../src/gui/kernel/qapplication.h:44:27: QtCore/qpoint.h: No such file or directory
    D:/Dev-Cpp/qt/include/QtGui/../../src/gui/kernel/qapplication.h:45:26: QtCore/qsize.h: No such file or directory
    D:/Dev-Cpp/qt/include/QtGui/../../src/gui/kernel/qapplication.h:46:27: QtGui/qcursor.h: No such file or directory

    Oder liegt es am make?

    Rainer



  • nimm mal als headerverzeichnis noch D:/Dev-Cpp/qt/include/ auf.



  • Hallo ghorst,

    Danke, Danke, Danke! Das war's.

    Hätte ich auch selbst drauf kommen können, aber manchmal hat man ein Brett vor dem Kopp. 🙂

    Rainer



  • RainerB schrieb:

    Danke, Danke, Danke! Das war's.

    da nicht für.
    das ist eines der probleme, die ich selber hatte. 😉



  • Ich hab ein Problem. Ich hab gerade Qt4 heruntergeladen, alle Includes eingetragen und frustriert festgestellt dass mein lib Ordner leer ist! Was soll ich jetzt machen? Wenn ich die Libs nicht linke wirds wohl kaum funktionieren! 😡

    Schon mal vielen dank für eure Hilfe

    mfg

    Qt4



  • Ich habe jetzt rausgefunden dass es daran liegt dass ich configure.exe nicht richtig ausführen kann!
    Wenn ich mit der Eingabeaufforderung und in den Ordner wechsele und configure aufrufe erscheint das hier: http://s6.directupload.net/images/070926/temp/QEa3Ed27.png

    Weiß jemand wieso ein einfaches configure nicht ausreicht damit man nur noch mit "y" die Lizens bestätigen muss?



  • Hi,

    arbeite erst seit kurzem mit QT unter dev c++

    und habe ein problem beim ausführen der QT Open GL beispiele...

    ( Overpainting Example )

    wenn ich es kompilieren will sagt mir der kompiler laufend das er

    z.B. QGLWidget nicht findet....

    daraufhin habe ich ein einfaches projekt erstellt bei dem ich ein einfacher

    QGLWidget erstelle und anzeige, wenn ich hier nun kompiliere sagt er erst auch

    das er QGLWidget nicht findet, nehme ich aber bei diesem projekt die vom qmake

    erstellte makefile raus ( also markiere ich die checkbox net mehr ) gehts...

    jedoch bei dem Overpainting Example geht dies nicht.... ( linking error)



  • Hallo,
    ich hatte irgendwann Anfang Oktober schon einmal Qt in Dev-C++ nach dieser Anleitung eingebunden und es hatte nach etwas hin und her dann auch funktionert. Dann hatte ich Qt einige Zeit nicht benutzt und bei einer Aufräumaktion versehentlich MinGW gelöscht.
    Daraufhin wollte ich Qt komplett neu installieren. Doch auch nach dem 5. Versuch bricht der Controller immer nach etwa 10 min mit folgender Fehlermedlung ab:

    mingw32-make[2]: *** [tmp/obj/debug_shared/qtmain_win.o] Error 1
    mingw32-make[2]: Leaving directory C:/Programme/Qt/src/winmain' mingw32-make[1]: *** [debug] Error 2 mingw32-make[1]: Leaving directoryC:/Programme/Qt/src/winmain'
    mingw32-make: *** [debug-C__Programme_Qt_src_winmain] Error 2

    Wäre schöne, wenn mir da jemand helfen könnte, da ich nicht so viel Ahnung von der Materie habe!



  • ich meine natürlich configure.exe und nicht controller...



  • Soweit klapt alles er zeit als einzige diese an
    C:\Dev-Cpp\Makefile.win [Build Error] [Project1.exe] Error 1 .



  • Das steht in der Makefile.win drin

    # Project: Project1
    # Makefile created by Dev-C++ 4.9.9.2

    CPP = g++.exe
    CC = gcc.exe
    WINDRES = windres.exe
    RES =
    OBJ = main.o $(RES)
    LINKOBJ = main.o $(RES)
    LIBS = -L"C:/Dev-Cpp/lib" -L"C:/Dev-Cpp/lib" -mwindows C:/Dev-Cpp/lib/libqtmain.a ../Qt/4.3.1/lib/libQtXmld4.a ../Qt/4.3.1/lib/libQt3Support4.a ../Qt/4.3.1/lib/libQt3Supportd4.a ../Qt/4.3.1/lib/libQtAssistantClient4.a ../Qt/4.3.1/lib/libQtAssistantClientd4.a ../Qt/4.3.1/lib/libQtCore4.a ../Qt/4.3.1/lib/libQtCored4.a ../Qt/4.3.1/lib/libQtDesigner4.a ../Qt/4.3.1/lib/libQtDesignerComponents4.a ../Qt/4.3.1/lib/libQtDesignerComponentsd4.a ../Qt/4.3.1/lib/libQtDesignerd4.a ../Qt/4.3.1/lib/libQtGui4.a ../Qt/4.3.1/lib/libQtGuid4.a ../Qt/4.3.1/lib/libqtmain.a ../Qt/4.3.1/lib/libqtmaind.a ../Qt/4.3.1/lib/libQtNetwork4.a ../Qt/4.3.1/lib/libQtNetworkd4.a ../Qt/4.3.1/lib/libQtOpenGL4.a ../Qt/4.3.1/lib/libQtOpenGLd4.a ../Qt/4.3.1/lib/libQtScript4.a ../Qt/4.3.1/lib/libQtScriptd4.a ../Qt/4.3.1/lib/libQtSql4.a ../Qt/4.3.1/lib/libQtSqld4.a ../Qt/4.3.1/lib/libQtSvg4.a ../Qt/4.3.1/lib/libQtSvgd4.a ../Qt/4.3.1/lib/libQtTest4.a ../Qt/4.3.1/lib/libQtTestd4.a ../Qt/4.3.1/lib/libQtUiTools.a ../Qt/4.3.1/lib/libQtUiToolsd.a ../Qt/4.3.1/lib/libQtXml4.a
    INCS = -I"C:/Dev-Cpp/include" -I"C:/Dev-Cpp/include" -I"C:/Qt/4.3.1/include/ActiveQt" -I"C:/Qt/4.3.1/include/Qt" -I"C:/Qt/4.3.1/include/Qt3Support" -I"C:/Qt/4.3.1/include/QtAssistant" -I"C:/Qt/4.3.1/include/QtCore" -I"C:/Qt/4.3.1/include/QtDBus" -I"C:/Qt/4.3.1/include/QtDesigner" -I"C:/Qt/4.3.1/include/QtGui" -I"C:/Qt/4.3.1/include/QtNetwork" -I"C:/Qt/4.3.1/include/QtOpenGL" -I"C:/Qt/4.3.1/include/QtScript" -I"C:/Qt/4.3.1/include/QtSql" -I"C:/Qt/4.3.1/include/QtSvg" -I"C:/Qt/4.3.1/include/QtTest" -I"C:/Qt/4.3.1/include/QtUiTools" -I"C:/Qt/4.3.1/include/QtXml" -I"C:/Qt/4.3.1/include"
    CXXINCS = -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" -I"C:/Qt/4.3.1/include/ActiveQt" -I"C:/Qt/4.3.1/include/Qt" -I"C:/Qt/4.3.1/include/Qt3Support" -I"C:/Qt/4.3.1/include/QtAssistant" -I"C:/Qt/4.3.1/include/QtCore" -I"C:/Qt/4.3.1/include/QtDBus" -I"C:/Qt/4.3.1/include/QtDesigner" -I"C:/Qt/4.3.1/include/QtGui" -I"C:/Qt/4.3.1/include/QtNetwork" -I"C:/Qt/4.3.1/include/QtOpenGL" -I"C:/Qt/4.3.1/include/QtScript" -I"C:/Qt/4.3.1/include/QtSql" -I"C:/Qt/4.3.1/include/QtTest" -I"C:/Qt/4.3.1/include/QtUiTools" -I"C:/Qt/4.3.1/include/QtXml" -I"C:/Qt/4.3.1/include/Qt/private" -I"C:/Qt/4.3.1/include/Qt3Support/private" -I"C:/Qt/4.3.1/include" -I"C:/Dev-Cpp/include" -I"C:/Qt/4.3.1/include/ActiveQt" -I"C:/Qt/4.3.1/include/Qt" -I"C:/Qt/4.3.1/include/Qt3Support" -I"C:/Qt/4.3.1/include/QtAssistant" -I"C:/Qt/4.3.1/include/QtCore" -I"C:/Qt/4.3.1/include/QtDBus" -I"C:/Qt/4.3.1/include/QtDesigner" -I"C:/Qt/4.3.1/include/QtGui" -I"C:/Qt/4.3.1/include/QtNetwork" -I"C:/Qt/4.3.1/include/QtOpenGL" -I"C:/Qt/4.3.1/include/QtScript" -I"C:/Qt/4.3.1/include/QtSql" -I"C:/Qt/4.3.1/include/QtSvg" -I"C:/Qt/4.3.1/include/QtTest" -I"C:/Qt/4.3.1/include/QtUiTools" -I"C:/Qt/4.3.1/include/QtXml" -I"C:/Qt/4.3.1/include"
    BIN = Project1.exe
    CXXFLAGS = $(CXXINCS)
    CFLAGS = $(INCS)
    RM = rm -f

    .PHONY: all all-before all-after clean clean-custom

    all: all-before Project1.exe all-after

    clean: clean-custom
    ${RM} $(OBJ) $(BIN)

    $(BIN): (OBJ)(OBJ) (CPP) $(LINKOBJ) -o "Project1.exe" $(LIBS)

    main.o: main.cpp
    $(CPP) -c main.cpp -o main.o $(CXXFLAGS)


Anmelden zum Antworten