当我从主调用新的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()
{
}
地形
#pragma once
#include "GLDrawObject.h"
class TerrainClass : public GLDrawObject
{
public:
TerrainClass();
};
最佳答案
首先,您的Terrain.cpp应该如下所示:
#include "Terrain.h"
TerrainClass::TerrainClass() : GLDrawObject()
{
}
其次,您得到的是链接器错误,而不是编译器错误。编译后,您需要将Terrain.o与其余目标文件链接。
关于c++ - 错误LNK2019:无法解析的外部符号类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34992162/