Frage

Ich versuche, einen funktionierenden visuellen C ++ - Code in QT Creator zu importieren, und ich habe einen Kompilierungsfehler, den ich nicht erklären kann. Dies ist mein Code:

// TabSprite.h

#include <GraphicsItem.h>

namespace appetizer {

class TabSprite : public GraphicsItem {

public:

  TabSprite(GraphicsWindow* parentWindow);

}

// TabSprite.cpp

#include <TabSprite.h>
using namespace appetizer;

TabSprite::TabSprite(GraphicsWindow* parentWindow): GraphicsItem(parentWindow) {

}

Und QT -Schöpfer geben mir diesen Fehler (bei der Konstruktorerklärung in TabSprite.cpp):

Undefined Referenz auf 'Appetizer :: GraphicsItem :: GraphicsItem (Appetizer :: GraphicsWindow*)

Jedoch GraphicsItem wird ordnungsgemäß deklariert in GraphicsItem.h Ich verstehe also nicht, warum die Compiler es nicht finden. Kann jemand sehen, was mit diesem Code falsch sein könnte?

War es hilfreich?

Lösung

Das bedeutet, dass Sie den Konstruktor von nicht definiert haben GraphicsItem.

Andere Tipps

Der Konstruktor ist wahrscheinlich erklärt in tabspprite.h (obwohl Ihr Code das nicht anzeigt). Deshalb kompiliert es. Aber der Konstruktor ist nicht definiert Überall oder weniger wahrscheinlich, dass das Gerät, in dem es definiert ist, nicht in den Verknüpfungsprozess enthalten ist. Deshalb verlinkt es nicht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top