qt & c++

Dieses Thema im Forum "C/C++" wurde erstellt von martin88, 08.02.2006.

  1. #1 martin88, 08.02.2006
    martin88

    martin88 Jungspund

    Dabei seit:
    02.02.2006
    Beiträge:
    13
    Zustimmungen:
    0
    Ort:
    Niederösterreich
    Hallo,
    Nachdem ich versuchte, ein (selbstgeschriebenes) Qt-"Programm" zu compilieren tauchte (wie hätte es anders sein können :think: ) ein Fehler auf.

    Mein Source-Code:
    Code:
    #include <iostream>
    #include <qapplication.h>
    #include <qlabel.h>
    
    int main(int argc, char** argv)
    {
    	QApplication app(argc, *argv[]);
    	QLabel *label = new QLabel("Hallo Qt!", 0);
    	app.setMainWidget(label);
    	label->show();
    
    	return app.exec();
    }
    
    Compiliert habe ich das ganze auf folgendem Weg: (Die Datei heißt: qt-test)
    1: qmake -project
    2: qmake qt-test.pro
    3: make

    Bei make tauchte dann ein Fehler auf, nämlich:
    Code:
    make: Für das Ziel »first« ist nichts zu tun.
    
    Die Qt-Bibliotheken habe ich über YAST installiert. Installiert sind:
    • qt - C++ Program Library, Core Components
    • qt3 - Eine Bibliothek zur Entwicklung von Programmen mit grafischer Benutzeroberfläche.
    • qt3-devel - Include-Dateien und Bibliotheken, die zum Programmieren benötigt werden.
    • qt-devel - Qt Development Kit
    • qt-qt3support - C++ Program Library, Core Components
    • qt-x11 - Qt 4 GUI related libraries

    Hat jemand zufällig einen Vorschlag, wie sich dieses Problem beheben könnte?

    Danke im voraus

    martin
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 hazelnoot, 08.02.2006
    hazelnoot

    hazelnoot www.mywm.dl.am

    Dabei seit:
    13.10.2005
    Beiträge:
    377
    Zustimmungen:
    0
    Ort:
    in Geiersberg
    probiers mal so:
    wechsle in das directory wo du deine quelldateien des programms gespeichert hast dann gib einfach nur qmake ein und einfach nur make!
     
  4. Lesco

    Lesco segmentation fault

    Dabei seit:
    18.12.2005
    Beiträge:
    67
    Zustimmungen:
    0
    Ort:
    Hessen
    Nenn' die Datei mal qt-test.cpp. Kann sein, dass qmake nur nach best. Dateiendungen sucht.
     
  5. #4 martin88, 08.02.2006
    martin88

    martin88 Jungspund

    Dabei seit:
    02.02.2006
    Beiträge:
    13
    Zustimmungen:
    0
    Ort:
    Niederösterreich
    Erstmal danke für eure Antworten.

    Ich habe jetzt .cpp an die Datei angehängt und es scheint zu funktionieren, aber (was wäre einer meiner Sätze ohne "aber" :) ) nun macht der Compiler einen anderen Fehler:

    Code:
    qt-test.cpp: In function ‘int main(int, char**)’:
    qt-test.cpp:29: error: [B][COLOR="red"]‘class QApplication’ has no member named ‘setMainWidget’[/COLOR][/B]
    make: *** [qt-test.o] Fehler 1
    
    Ich habe diesen Text eins zu eins aus einem Buch über Qt abgeschrieben, deswegen verstehe ich auch nicht, wieso der Compiler einen Fehler meldet.

    Hat jemand einen Lösungsvorschlag?
     
  6. Sharoz

    Sharoz Mitglied

    Dabei seit:
    10.11.2005
    Beiträge:
    46
    Zustimmungen:
    0
    Ich kenne mich mich QT ja nicht wirklich aus (Komme eher aus der Java Ecke),
    aber müsste du nicht irgentwie noch QMainWindow erzeugen?

    Zumindest wenn ich mir dass hier anschaue, vermute ich das ;-)
    http://www.pro-linux.de/work/qt/qt2ws001.html

    Viel erfolg!
    Sharoz
     
  7. #6 martin88, 08.02.2006
    martin88

    martin88 Jungspund

    Dabei seit:
    02.02.2006
    Beiträge:
    13
    Zustimmungen:
    0
    Ort:
    Niederösterreich
    Danke erstmal,
    hilft mir aber leider trotzdem nicht weiter -> selber Compiler-Fehler :(
     
  8. Sharoz

    Sharoz Mitglied

    Dabei seit:
    10.11.2005
    Beiträge:
    46
    Zustimmungen:
    0
    Also, hier mal meine Vorstellung von dem Code:

    Code:
    #include <iostream>
    #include <qapplication.h>
    #include <qmainwindow.h> 
    #include <qlabel.h>
    
    using namespace std;
    
    int main(int argc, char** argv)
    {
    	QApplication app(argc, *argv[]);
            QMainWindow *window = new QMainWindow();
            app.setMainWidget(window);
            window->show
    
    	QLabel *label = new QLabel("Hallo Qt!", 0);
    	window.setMainWidget(label); // kA, auf jeden Fall muss label zu window geadded werden
    	label->show();
    
    	return app.exec();
    }
    
     
  9. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  10. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    setMainWidget ist laut Qt-Doku nicht mehr vorhanden in Version 4.1; war es noch in qt-3. Sieh Dir besser die online-Tutorials von Qt an, die sind immer aktuell.
     
  11. #9 martin88, 09.02.2006
    martin88

    martin88 Jungspund

    Dabei seit:
    02.02.2006
    Beiträge:
    13
    Zustimmungen:
    0
    Ort:
    Niederösterreich
    Danke für die Info
     
Thema:

qt & c++