Archiv verlassen und diese Seite im Standarddesign anzeigen : QT wird nicht gefunden
Hi Leute hab folgendes Problem.
Ic möchte unte KDevelop mit QT programmieren abe irgenwie kriege ich es nicht hin. Die Headerdatei wird nich gefunden. bei #include <qapplication meckert KDevelop und meint da di Datai nicht existiet dabei ist sie auf de Platte. Muß ich irgendwo vielleicht de QT Pfad angeben?
locus vivendi
21-11-2006, 16:26
Die Frage wurde hier bestimmt schon tausendmal gestellt...
Du musst dem Compiler vermutlich den Pfad mitteilen, in dem die Header liegen. Und den der Libraries auch. Und die Libraries selber. Das ist Compilerspezifisch, aber für den Gcc kannst du das hier lesen:
http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/
Insbesondere unter "Options for Directory Search" schauen.
Wie das unter Kdevelop einzustellen ist weiss ich nicht genau, denn ich verwende es nicht. Aber probier doch mal im Project-Menü in Project Option reinzugehen. Dort dann mal unter C++ Specific -> Qt. Conigure Options dürfte auch interessant sein.
Ich rate auch dazu, im Gcc Manual mehr zu lesen als nur den Punkt den ich oben genannt hatte.
Hi ich glaube ich hab den g++ Compiler weil ich immer folgene Fehlermeldung bekomme.
cd '/home/kravenz/Praktikum/testqq/debug' && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -k
gmake all-recursive
Making all in src
if g++ -DHAVE_CONFIG_H -I. -I/home/kravenz/Praktikum/testqq/src -I.. -O0 -g3 -MT testqq.o -MD -MP -MF ".deps/testqq.Tpo" -c -o testqq.o /home/kravenz/Praktikum/testqq/src/testqq.cpp; then mv -f ".deps/testqq.Tpo" ".deps/testqq.Po"; else rm -f ".deps/testqq.Tpo"; exit 1; fi
/home/kravenz/Praktikum/testqq/src/testqq.cpp:28:26: error: qapplication.h: Datei oder Verzeichnis nicht gefunden
gmake[2]: *** [testqq.o] Fehler 1
gmake[2]:
Das Target »all« wurde wegen Fehlern nicht aktualisiert.
gmake[2]: Für das Ziel »all-am« ist nichts zu tun.
gmake[1]: *** [all-recursive] Fehler 1
gmake: *** [all] Fehler 2
*** Beendet mit Status: 2 ***
Habs unter Projekteinstellungen versucht aber auch wenn ich dort QTAuswähle findet er es nicht :/
delmonico
21-11-2006, 21:55
21:51:49 < Hun > sagt dem mal, dass er grosz- und kleinschreibung lernen soll
21:54:05 < Hun > Der Header heiszt QApplication.h
Hab es jetzt mit QApplication.h versucht und es geht immer noch nicht. Kommt der gleiche Fehler.
Dachte ich hätte vielleicht was durch meine Rumfummelei kaputt gemacht und hab deswegen Linux nochmal ganz neu installiert. Dann ganz brav KDevelop von den CDs installiert. Alle weiterene benötigten Packete hab ich natürlich mitinstalliert. Hab im Terminal mit set überprüft ob QTDIR richtig gesetzt ist und es ist auf /usr/lib/qt3 gesetzt.
Dann hab ich wieder ein Testprogramm geschrieben, dass nichts besonderes macht. Und es ging. Dann hab ich die QApplication.h Header eingebunden und wieder kam der gleiche Fehler.
Ich poste mal das Programm vielleicht wird dann klarer.
#include <iostream>
#include <cstdlib>
#include <QApplication.h>
using namespace std;
int main(int argc, char *argv[])
{
cout << "Hello, world!" << endl;
return EXIT_SUCCESS;
}
Und hier die aktuelle Fehlermeldung:
cd '/home/bulczak/test/debug' && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -k
gmake all-recursive
Making all in src
Kompilieren der Datei test.cpp (g++)
/home/bulczak/test/src/test.cpp:28:26: error: QApplication.h: Datei oder Verzeichnis nicht gefunden
gmake[2]: *** [test.o] Fehler 1
gmake[2]: Das Target »all« wurde wegen Fehlern nicht aktualisiert.
gmake[1]: *** [all-recursive] Fehler 1
gmake[2]: Für das Ziel »all-am« ist nichts zu tun.
gmake: *** [all] Fehler 2
*** Beendet mit Status: 2 ***
peschmae
22-11-2006, 09:04
Also du benutzt Qt3? Dann heisst das korrekterweise weiterhin qapplication.h; QApplication (ohne .h) ist die bevorzugte Benennung bei Qt4 - aber es gibt auch dort weiterhin symbolische Links auf qapplication.h.
Hast du die Header überhaupt installiert?
MfG Peschmä
Ja sie befinden sich alle im Ordner usr/lib/qt3/include
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.