hscade Geschrieben 14. August 2007 Geschrieben 14. August 2007 Mein Problem is das ich garnichts mehr kompilieren kann ohne eine WallofFehlermeldungen zu bekommen die im zusammenhang mit dem moc haengen. Das es is im warsten Sinne des Wortes eine Wall ist nur ein kleiner Ausschnitt der Fehlermeldung: mocs\moc_TableWidget.cpp:11:2: #error "The header file 'TableWidget.cpp' doesn't include <QObject> mocs\moc_TableWidget.cpp:18: error: 'uint' does not name a type mocs\moc_TableWidget.cpp:38: error: 'QMetaObject' does not name a type ... Selbst wenn ich in die TableWidget.cpp #include <QObject> mache zeigt er die selbe Fehlermeldung. app.pro TEMPLATE = app TARGET = DEPENDPATH += . src INCLUDEPATH += . # Input HEADERS += src/TableWidget.cpp SOURCES += main.cpp src/TableWidget.cpp MOC_DIR = mocs OBJECTS_DIR = obj TableWidget.cpp #ifndef RELATION_WIDGET_H #define RELATION_WIDGET_H #include <QWidget> #include <QTablewidget> #include <QLayout> #include <QPushButton> #include <QMessageBox> class Relation : public QTableWidget { Q_OBJECT public: Relation(QWidget *parent=0); protected slots: void addRow(); }; Relation::Relation (QWidget *parent) { setColumnCount(1); setRowCount(1); } void Relation::addRow() { setRowCount(rowCount()+1); } class RelationWidget: public QWidget { public: RelationWidget ( QWidget *parent=0 ); }; RelationWidget::RelationWidget (QWidget *parent) { QVBoxLayout *layout = new QVBoxLayout; Relation *rel = new Relation; QPushButton *b1 = new QPushButton("Add Row"); b1->resize(20,30); QObject::connect(b1,SIGNAL(clicked()),rel,SLOT(addRow())); layout->addWidget(rel); layout->addWidget(b1); setLayout(layout); } #endif vielleicht findet ihr ja den Fehler ich hab im moment garkeine Ahnung warum dieser Fehler kommt. Ich hab mir doch extra ein Tutorial dazu angeschaut Zitieren
Klotzkopp Geschrieben 14. August 2007 Geschrieben 14. August 2007 #error "The header file 'TableWidget.cpp' ... Offenbar hält Qt deine TableWidget.cpp für eine Headerdatei. Das ist schon mal merkwürdig. Warum hat die Datei eigentlich Include-Guards (#ifndef/#define/#endif)? Die braucht man nur bei Headerdateien. Du bindest doch hoffentlich nicht .cpp-Dateien über Includedirektiven ein? Zitieren
hscade Geschrieben 14. August 2007 Autor Geschrieben 14. August 2007 Nein es ist nur schon weis ich nich wie spaet und hab mich nur verschrieben statt .cpp soll das .h heissen =) Zitieren
Klotzkopp Geschrieben 14. August 2007 Geschrieben 14. August 2007 statt .cpp soll das .h heissen =)In der Fehlermeldung auch? Hast du die wirklich nach dem Copy&Paste auf .cpp geändert? Zitieren
hscade Geschrieben 14. August 2007 Autor Geschrieben 14. August 2007 Kein Kopieren & Einfügen geht aus cmd schlecht :| Zitieren
hscade Geschrieben 14. August 2007 Autor Geschrieben 14. August 2007 Jetz gehts pöses QT pöse Müdigkeit Zitieren
Klotzkopp Geschrieben 14. August 2007 Geschrieben 14. August 2007 Kein Kopieren & Einfügen geht aus cmd schlecht :|:confused: Klar geht das. Nur um ganz sicher zu gehen: Auch in der app.pro steht HEADERS += src/TableWidget.h ? Zitieren
hscade Geschrieben 14. August 2007 Autor Geschrieben 14. August 2007 Nein ... du hattest recht nur Müdigkeit > augen. Entschuldigung aber das passiert wenn man zuviel .cpp am tag eingibt. Tip: rammmmscht nie alles in eine file auch wenns von nem tutorial kommt >_< danke nochmal fuer die schnelle antwort und das um die uhrzeit Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.