我可能遗漏了一些明显的东西,但是我无法摆脱Qt用户界面中的链接错误。
我已经隔离了引起麻烦的部分。基本上,我实现了QGraphicsView
的子类来显示交互式开销图。由于某种原因,我无法解决构造函数。
OverheadMap.h:
#ifndef OVERHEADMAP_H
#define OVERHEADMAP_H
#include <QGraphicsView>
class OverheadMap : public QGraphicsView {
Q_OBJECT
public:
OverheadMap();
};
#endif // OVERHEADMAP_H
OverheadMap.cpp:
#include "OverheadMap.h"
OverheadMap::OverheadMap() {
// Body
}
main.cpp:
#include "OverheadMap.h"
int main(int argc, char *argv[])
{
OverheadMap *map = new OverheadMap();
}
LNK2019:
main.obj:-1: error: LNK2019: unresolved external symbol "public: __thiscall OverheadMap::OverheadMap(void)" (??0OverheadMap@@QAE@XZ) referenced in function _main
我可以毫不费力地将QtCreator的自动补全与
OverheadMap
一起使用,并且我已经完成了类似的QFrame子类实现,并且可以正常工作,所以我怀疑这里是否存在语法错误。我想念什么?
谢谢。
最佳答案
这段代码对我来说很好。
因此,解决方案是您必须重新运行qmake,因为根据您的评论,您修改了项目结构而不告知qmake。