我正在尝试将一些有效的Visual C ++代码导入到Qt Creator中,并且我遇到了一些我无法解释的编译错误。这是我的代码:
// 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) {
}
Qt Creator给我这个错误(在TabSprite.cpp
中的构造函数声明中):
对'appetizer :: GraphicsItem :: GraphicsItem(appetizer :: GraphicsWindow *)
的未定义引用
但GraphicsItem
已正确声明GraphicsItem.h
,因此我不明白为什么编译器找不到它。任何人都可以看到这段代码有什么问题吗?
答案 0 :(得分:1)
这意味着您没有定义GraphicsItem
的构造函数。
答案 1 :(得分:0)
构造函数可能在TabSprite.h中声明(虽然你的代码没有显示)。这就是它编译的原因。但构造函数不是定义在任何地方,或者不太可能,定义它的单元不包括在链接过程中。这就是为什么它没有链接。