当我从主调用新的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/

10-09 06:32