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