当我从主要部门调用新的TerrainClass()时,我收到以下错误,尝试了几个小时来修复它,请帮忙。
error LNK2019: unresolved external symbol "public: __thiscall TerrainClass::TerrainClass(void)" (??0TerrainClass@@QAE@XZ) referenced in function "void __cdecl init(void)" (?init@@YAXXZ)
GLDrawObject.h
#pragma once
class GLDrawObject
{
};
Terrain.cpp
#pragma once
TerrainClass::TerrainClass() : GLDrawObject()
{
}
Terrain.h
#pragma once
#include "GLDrawObject.h"
class TerrainClass : public GLDrawObject
{
public:
TerrainClass();
};
答案 0 :(得分:1)
首先,你的Terrain.cpp应该如下:
#include "Terrain.h"
TerrainClass::TerrainClass() : GLDrawObject()
{
}
其次,您收到链接器错误,而不是编译器错误;编译完成后,需要将Terrain.o与其余的目标文件链接起来。