Seite 1 von 1
qmake erstellt mir keine moc-Dateien :-/
Verfasst: 6. November 2008 20:18
von Teemo
Hallo,
Ich bin neu hier und muss leider gleich mit einem Problem beginnen. Ich hoffe ihr könnt mir helfen:
Ich bin ein C++ und QT Anfänger und habe für die Uni mit einem Komilitonen zusammen ein kleines simples und einfaches Programm geschrieben.
Leider bekomm ich beim kompilieren ein Fehler. Nach ein paar Nachforschungen hab ich auhc das Problem gefunden :
qmake erstellt mir keine moc-Datei.
Ich habe, nachdem ich das Q_OBJECT in meine Header Datei eingebunden hab, qmake erneut ausgeführt. Leider hat dies auch zu keinem Erfolg geführt.
Wenn ich das xcode Projekt starte, wird mir auch in meinem Projekt die moc Datei angezeigt. Doch leider in Rot (er kann sie also nicht finden).
Ich benutze:
XCode 3.0
Mac OSX 10.5.5
und habe QT 4.4.1 (via dmg und QT.mpkg) installiert.
Bei meinem Komilitonen funktioniert unser Programm problemlos und wir haben auch schon die Pro Dateien abgeglichen. Meine sieht genauso aus wie seine.
Ich hab auch schon das Forum durchsucht und ne menge rumgegoogled. Leider bin ich zu keiner Lösung gekommen.
Vielleicht habt ihr noch ne Idee
Grüße
Teemo
ps: falls ich den Code, die Pro Datei oder sonst was posten soll, dann sagt bescheid.
Verfasst: 6. November 2008 22:22
von Christian81
Sind die Header auch in der pro-Datei zu finden?
Verfasst: 6. November 2008 22:33
von Teemo
ja.
Meine Header-Datei : MainWindow.h
und meine Pro-Datei:
Archiv.pro
Code: Alles auswählen
######################################################################
# Automatically generated by qmake (2.01a) Do Nov 6 21:55:35 2008
######################################################################
TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
# Input
HEADERS += MainWindow.h
SOURCES += main.cpp MainWindow.cpp
Verfasst: 6. November 2008 22:39
von Christian81
Wenn in MainWindow.h ein Q_OBJECT vorhanden ist (und die Klasse von QObject abgeleitet ist) dann wird auch eine moc_MainWindow.cpp erstellt und kompiliert. Wenn nicht - Testcase bitte.
Verfasst: 7. November 2008 08:56
von solarix
Welche Ausgabe erhälst du, wenn du in einer Konsole:
eingibst?
Verfasst: 7. November 2008 14:57
von Teemo
Hi,
also ein Q_OBJECT ist in der Header Datei vorhanden.
Wenn ich
eingebe, werden alle Dateien erstellt, bis auf die moc Datei. Es gibt keine Ausgabe.
Und anschließend :
Code: Alles auswählen
tBook:Slider timo$ qmake
Failure to read QMAKESPEC conf file /Users/timo/mkspecs/macx-g++/qmake.conf.
Error processing project file: /Users/timo/Workspace/Slider/Slider.pro
tBook:Slider timo$
Code: Alles auswählen
tBook:Slider timo$ make
make: *** No targets specified and no makefile found. Stop.
tBook:Slider timo$
Verfasst: 7. November 2008 15:07
von Christian81
Warum rufst Du qmake nochmal auf wenn Du die Makefiles/das Projekt schon mit "qmake -spec macx-xcode Slider.pro" erstellt hast?
Verfasst: 7. November 2008 16:43
von Teemo
normalerweise erstelle ich mein Projekt wie oben beschrieben
es kommt keine Fehlermeldung.
Ich habe es nur ein 2tes mal ausgeführt weil ich gucken sollte was dann passiert.
wenn ich nur qmake ausführe, werde ich aufgefordert weitere Parameter zu definieren.
Ich dachte vielleicht hilft die Fehlermeldung die kam, wenn ich es zum 2ten mal ausführe, jemand weiter.
Verfasst: 7. November 2008 18:49
von Christian81
Mit dem ersten qmake-Aufruf (den mit -spec) sollte ein XCode-Projekt erstellt worden sein. Also kein Makefile-Projekt und demnach auch kein make

Wenn Du das Projekt öffnest und in XCode kompilierst wird auch das moc-File erzeugt.
Verfasst: 7. November 2008 19:32
von Teemo
Christian81 hat geschrieben:Mit dem ersten qmake-Aufruf (den mit -spec) sollte ein XCode-Projekt erstellt worden sein. Also kein Makefile-Projekt und demnach auch kein make

Wenn Du das Projekt öffnest und in XCode kompilierst wird auch das moc-File erzeugt.
leider nicht :-/
Also das XCode Projekt wird erstellt. Ich kanns auch öffnen ... und kompilieren. Aber leider spuckt er halt dann nen fehler aus und die moc datei im XCodeProjekt ist rot.
Verfasst: 8. November 2008 11:07
von solarix
manchmal macht es Sinn, dort zu beginnen wo es 100% funktionieren sollte... daher solltest du, wirklich genau das in der Konsole eingeben, was wir hier schreiben, sonst ist das ganze sinnlos (Wenn es in der Konsole nicht funktioniert, geht es auch in XCode nicht).
Prüf mal die Rechte:
Kann die Datei überhaupt gelesen werden?
[edit]
Ich halte übrigens auch den Pfad für seltsam... die "mkspecs" sind doch üblicherweise unterhalb des Trolltech-Verzeichnisses.. nicht unter $HOME...?
Verfasst: 9. November 2008 16:39
von Teemo
solarix hat geschrieben:manchmal macht es Sinn, dort zu beginnen wo es 100% funktionieren sollte... daher solltest du, wirklich genau das in der Konsole eingeben, was wir hier schreiben, sonst ist das ganze sinnlos (Wenn es in der Konsole nicht funktioniert, geht es auch in XCode nicht).
Prüf mal die Rechte:
Kann die Datei überhaupt gelesen werden?
[edit]
Ich halte übrigens auch den Pfad für seltsam... die "mkspecs" sind doch üblicherweise unterhalb des Trolltech-Verzeichnisses.. nicht unter $HOME...?
hm die Datei gibt es nicht.
Ich hab keine Ahnung warum er die Datei dort sucht. Eigentlich hab ich die .profile und .login datei mit den, in der Installationsanleitung angebenen Zeilen, ergänzt.
meine .profile datei
Code: Alles auswählen
PATH=/usr/local/Trolltech/Qt-4.4.3/bin:$PATH
export PATH
und meine .login
Wenn hier irgendwo kompletter Mist steht, dann sagt es mir. Ich kann nicht wirklich gut mit der Bash umgehen.
Danke schonmal
Verfasst: 9. November 2008 17:51
von Teemo
Juhu !
Ich habs irgendwie hinbekommen... aber wodran es jetzt genau lag weiß ich nicht.
Ich hab zum einen eine .qmake.cache datei gelöscht... wo meiner Meinung nach einige Pfade falsch und verdächtig aussahen.
Anschließend hab ich noch ein bischen mit qmake rumgespielt und plötzlich hat mir make mocables endlich die mocs erstellt.
Ich hab dann nochmal folgendes eingegeben :
Code: Alles auswählen
qmake -spec /usr/local/Trolltech/qt-4.4.3/mkspecs/macx-g++ -macx -o Makefile HA6.pro
und nun scheint es zu gehen.
Mit qmake wird mir ne *.pro Datei erstellt. qmake -spec macx-xcode ha6.pro
erstellt mir die Projekt-Datei und beim kompilieren in XCode wird auch die moc erstellt und es kommt kein Fehler mehr...
Lag wohl an einem falschem Pfad oder was meint ihr ?
Verfasst: 10. November 2008 07:46
von Christian81
Teemo hat geschrieben:
Lag wohl an einem falschem Pfad oder was meint ihr ?
Wenn Du Qt nach dem Kompilieren irgendwie rumgeschoben hast - ja. Siehe auch
http://qtforum.de/forum/viewtopic.php?t=7794