PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kdevelop findet qmainwindow.h etc. nicht



doitux
04-11-2004, 06:45
Hallo

Ich wollte heute mal meine Projekte auf Kdevelop umstellen. Dafür hab ich mal ein Testprojekt mit Projekt >> neues Projekt >> C++ >> Qmake Projekt >> Application erstellt. Als ich danach auf kompilieren geklickt habe gibt es folgende Meldung:

cd '/home/doitux/Documents/Programming/queylearn/src' && QTDIR="/usr/qt/3" gmake -k main.o
Kompilieren der Datei main.cpp (g++)
main.cpp:2:26: qapplication.h: Datei oder Verzeichnis nicht gefunden
queylearn.h:5:25: qmainwindow.h: Datei oder Verzeichnis nicht gefunden
queylearn.h:10: error: Fehler beim Parsen before `{' token
queylearn.h:15: error: destructors must be member functions
queylearn.h:17: error: Fehler beim Parsen before `protected'
queylearn.h:23: error: Fehler beim Parsen before `&' token
queylearn.h:31: error: Fehler beim Parsen before `private'
queylearn.h:34: error: 'QString' is used as a type, but is not defined as a type.
queylearn.h:35: error: Fehler beim Parsen before `}' token
main.cpp:6: error: `QApplication' undeclared (first use this function)
main.cpp:6: error: Fehler beim Parsen before `(' token
main.cpp:7: error: `mw' undeclared (first use this function)
main.cpp:7: error: Fehler beim Parsen before `(' token
main.cpp:10: error: `a' undeclared (first use this function)
main.cpp:10: error: `lastWindowClosed' undeclared (first use this function)
main.cpp:10: error: `SIGNAL' undeclared (first use this function)
main.cpp:10: error: `quit' undeclared (first use this function)
main.cpp:10: error: `SLOT' undeclared (first use this function)
*** Beendet mit Status: 2 ***

dazu hab ich mal zwei Fragen:
1. warum wird da mit gmake und nicht mit qmake kompiliert
2. warum findet kdevelop die qt-header nicht? die sind alle in /usr/qt/3/include drin?

hat da jemand eine idee für mich?

gruß
doitux

anda_skoa
04-11-2004, 15:07
1. warum wird da mit gmake und nicht mit qmake kompiliert

Weil qmake Makefiles erzeugt, nicht abarbeitet. Das macht das normale make (oder seine GNU Version gmake)



2. warum findet kdevelop die qt-header nicht? die sind alle in /usr/qt/3/include drin?


Hmm, eventuell stehen absolute Pfade im Makefile?
Generiere es mal mit qmake neu

Ciao,
_

doitux
05-11-2004, 09:03
wenn ich das makefile in src/ per hand mit qmake erstelle dann kompiliert er ohne probleme. ich hatte gedacht dass kdevelop das alleine macht wenn es schon als typ qmake-projekt angibt.

was jetzt aber merkwürdig ist: wenn ich die ausführbare datei "test" in bin/ ausführen will kommt immer: "keine Berechtigung"
aber laut:

bash-2.05b# ls -l
insgesamt 68
-rwxr-xr-x 1 doitux users 66397 5. Nov 09:58 test

gehört mir die datei. weißt du was da falsch gelaufen ist, oder was ich da noch probieren kann?

anda_skoa
07-11-2004, 17:56
wenn ich das makefile in src/ per hand mit qmake erstelle dann kompiliert er ohne probleme. ich hatte gedacht dass kdevelop das alleine macht wenn es schon als typ qmake-projekt angibt.

Wenn das Makefile gleich aktuell war wie die .pro Datei, hat er sie vielleicht nur nicht neu erzeugt.



was jetzt aber merkwürdig ist: wenn ich die ausführbare datei "test" in bin/ ausführen will kommt immer: "keine Berechtigung"

Hmm.
Du startest im gleichen Verzeichnis mit ./test?

Wo liegt das Verzeichnis? Im HOME des Benutzers?

Ciao,
_

doitux
11-11-2004, 14:27
bei kdevelop macht er die bin automatisch in bin/ im Projektordner. der Projektordner liegt in meinem /home-verzeichnis. wenn ich also "cd bin/" und danach "./test" mache kommt immer noch "keine Berechtigung". Komischerweise kommt das auch wenn ich das als root mache.

CodeReaver
13-11-2004, 10:03
bei kdevelop macht er die bin automatisch in bin/ im Projektordner. der Projektordner liegt in meinem /home-verzeichnis. wenn ich also "cd bin/" und danach "./test" mache kommt immer noch "keine Berechtigung". Komischerweise kommt das auch wenn ich das als root mache.
Versuch mal ein chmod a+x test, vielleicht fehlen ja nur die ausführungsrechte :)

doitux
13-11-2004, 10:31
das mit chmod hab ich probiert, klappte aber auch nicht.
aber danach hab ich nochmal n bsichen rumprobiert und jetzt weiß ich endlich woran es liegt.
ich hatte die partition auf der mein projekteordner seit neuestem lagert versehentlich als noexec gemountet. damit konnte also nichts ausgeführt werden.
jetzt gehts wieder.

trotzdem danke für alle hinweise!

gruß
felix