Probleme beim Kompilieren mit KDevelop

Verschiedenes zu Qt
Antworten
Nimda05
Beiträge: 1
Registriert: 3. Oktober 2007 14:15

Probleme beim Kompilieren mit KDevelop

Beitrag von Nimda05 »

Hallo!

Ich fange gerade an Qt4 zu lernen und habe zur Zeit leider das Problem, dass ich mit KDevelop unter Kubuntu mein simples Programm nicht zum laufen kriege:

Code: Alles auswählen

#include <QApplication>
#include <QPushButton>

int main(int argc, char *argv[]){

	QApplication app(argc, argv);
	QPushButton hello("Hallo Welt");
	hello.resize(100,30);
	hello.show();
	return app.exec();


}
compiling main.cpp (g++)
/home/nimda05/Programmierung/test/src/main.cpp:22:24: error: QApplication: No such file or directory
/home/nimda05/Programmierung/test/src/main.cpp:23:23: error: QPushButton: No such file or directory
/home/nimda05/Programmierung/test/src/main.cpp: In function »int main(int, char**)«:
/home/nimda05/Programmierung/test/src/main.cpp:27: Fehler: »QApplication« wurde in diesem Gültigkeitsbereich nicht definiert
/home/nimda05/Programmierung/test/src/main.cpp:27: Fehler: expected `;' before »app«
/home/nimda05/Programmierung/test/src/main.cpp:28: Fehler: »QPushButton« wurde in diesem Gültigkeitsbereich nicht definiert
/home/nimda05/Programmierung/test/src/main.cpp:28: Fehler: expected `;' before »hello«
/home/nimda05/Programmierung/test/src/main.cpp:29: Fehler: »hello« wurde in diesem Gültigkeitsbereich nicht definiert
/home/nimda05/Programmierung/test/src/main.cpp:31: Fehler: »app« wurde in diesem Gültigkeitsbereich nicht definiert
Wenn ich das nur einigermaßen richtig deute, dann findet der die Headerdateien nicht.
locate QApplication
/usr/include/qt4/QtGui/QApplication
wo muss ich denn jetzt was eintragen damit das funktioniert? ich hab schon rumprobiert, die sufu benutzt, gegoogelt und meine glaskugel befragt aber alles scheint nix zu nützen.

Vielen Dank

Nimda05
MichaelS
Beiträge: 240
Registriert: 27. Dezember 2005 12:49

Beitrag von MichaelS »

Hallo,

in den Projekteinstellungen gibt es eine Seite, auf der man die Einstellungen für QT4 vornehmen kann Ich habe gerade kein kdeveloip zur Hand, daher die "grobe" Beschreibung. Ich hoffe, es hilft trotzdem weiter.

Gruß Michael
funkmenera
Beiträge: 5
Registriert: 11. Oktober 2007 10:52

Beitrag von funkmenera »

tag zusammen !

Also ich hab leider das selbe Problem und bin kurz vorm Verzweifeln :cry:

Nun, ich benutze Kubunutu 7.04 und Kdevelop 3.4
Qt-4.3.2 hab ich mit den Standardeinstellungen kompiliert ... demnach liegen die Dateien in /usr/local/Trolltech/Qt-4.3.2
Soweit so gut.

In Kdevelop hab ich die Einstellungen auch nach bestem Wissen angepasst, nur irgendwas scheint noch nicht ganz zu passen...
Also im Menü
Project -> Project Options -> C++ Support -> Qt Options
hab ich die Einträge für das 'QMake Binary' und den 'Qt Designer' sowie die 'Qt include Syntax' angepasst.
-> /usr/local/Trolltech/Qt-4.3.2/bin/qmake
-> /usr/local/Trolltech/Qt-4.3.2/bin/designer
-> #include <QWidget>

Wenn ich nun ein neues Projekt anlege und es kompiliere kommt die von Nimda05 genannte Fehlermeldung.
:roll:
Irgendwo :? hab ich mal was von 'qmake -project' gelesen.
Wenn ich diesen Befehl in der Konsole im entsprechenden Verzeichnis ausführe, dann klappt die Kompilierung.
Allerdings wird die kompilierte Datei im falschen Verzeichnis abgelegt ... also in /mein/projekt anstatt /mein/projekt/bin, wodurch das Ausführen per Tastenkombination in Kdevelop ins Lere läuft. Das an sich wäre ja halb so wild. Nur teilweise ist Kdevelop auch abgestürzt :oops:
und ich frage mich warum Kdevelop das 'qmake -project' scheibar nicht automatisch macht ?!
bzw was ich noch einstellen muß ...

Hoffe es weiß Jemand Rat .. wäre sehr dankbar !
Gruß, funki
MichaelS
Beiträge: 240
Registriert: 27. Dezember 2005 12:49

Beitrag von MichaelS »

Moin,

ich kann die hier geschilderten Probleme nicht nachvollziehen.

Gestern habe ich QT 4.3.2 kompiliert (bisher hatte ich QT 4.3.1 im Einsatz). Dann habe ich ein Projekt in kdevelop geöffnet und unter Project -> Project Options -> C++ Support -> Qt Options die Pfade zu qmake und designer eingestellt. Anschließend habe ich über den QMake Manager run qmake recursively aufgerufen und dann Build -> rebuild project.

Mehr brauchte ich für eine fehlerfrei Übersetzung mit QT 4.3.2 nicht zu machen.
Allerdings wird die kompilierte Datei im falschen Verzeichnis abgelegt
Dafür gibt es die TARGET Einstellung. Das kannst Du entweder über den QMake Manager einstellen oder "zu Fuß" ins pro-File eintragen (dann aber nicht vergessen, qmake auszuführen!!).
wodurch das Ausführen per Tastenkombination in Kdevelop ins Lere läuft.
Die Angabe des TARGET (s.o.) behebt dieses Problem. Ansonsten kannst Du in kdevelop unter Project->Project options->run options den Pfad zum Programm auch einstellen.
und ich frage mich warum Kdevelop das 'qmake -project' scheibar nicht automatisch macht ?!
Warum sollte kdevelop? qmake -project erstellt aus bereits vorhandenem Quellcode eine entsprechende pro-Datei. Dafür gibt es in kdevelop den QMake Manager. Der hält das pro-File aktuell - wenn er denn benutzt wird.

Gruß Michael
Antworten