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
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?
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 =)
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?
hscade Geschrieben 14. August 2007 Autor Geschrieben 14. August 2007 Kein Kopieren & Einfügen geht aus cmd schlecht :|
hscade Geschrieben 14. August 2007 Autor Geschrieben 14. August 2007 Jetz gehts pöses QT pöse Müdigkeit
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 ?
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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden