【发布时间】:2014-05-12 16:08:31
【问题描述】:
我收到这些错误消息
2>main.obj : 错误 LNK2019: 函数 _WinMain@16 中引用的无法解析的外部符号“public: __thiscall CEngine::CEngine(void)” (??0CEngine@@QAE@XZ)
2>main.obj : 错误 LNK2019: 函数中引用的未解析外部符号“public: void __thiscall CEngine::SetWindowSize(int,int,char const *,int)” (?SetWindowSize@CEngine@@QAEXHHPBDH@Z) _WinMain@16
2>main.obj : 错误 LNK2019: 函数 _WinMain@16 中引用的无法解析的外部符号“public: void __thiscall CEngine::Begin(void)” (?Begin@CEngine@@QAEXXZ)
2>main.obj : 错误 LNK2019: 函数 _WinMain@16 中引用的无法解析的外部符号“public: int __thiscall CEngine::GetDisplayWidth(void)” (?GetDisplayWidth@CEngine@@QAEHXZ)
2>main.obj : 错误 LNK2019: 函数 _WinMain@16 中引用的无法解析的外部符号“public: int __thiscall CEngine::GetDisplayHeight(void)” (?GetDisplayHeight@CEngine@@QAEHXZ)
2>C:\Users\ethan\Desktop\C++ Projects\delveenginetest\Debug\delveenginetest.exe : 致命错误 LNK1120: 5 unresolved externals
这是我的解决方案:
解决方案“delveenginetest”(2 个项目)
DelveEngine
包括
delve.h
引擎.h
SetupSDL.h
stdafx.h
Engine.cpp
Main.cpp
SetupSDL.cpp
这是Engine.h的代码
#pragma once
#include "SetupSDL.h"
class CEngine
{
public:
CEngine(void);
~CEngine(void);
void SetWindowSize(int winW, int winH, const char* GameName, int windowMode);
void Begin(void);
int GetDisplayWidth(void);
int GetDisplayHeight(void);
private:
int deskW;
int deskH;
bool playing;
CSetupSDL* sdl_setup;
};
Engine.cpp 的代码
#include "Include/stdafx.h"
#include "Include/Engine.h"
CEngine::CEngine(void)
{
playing = true;
deskW = GetSystemMetrics(SM_CXSCREEN);
deskH = GetSystemMetrics(SM_CYSCREEN);
}
CEngine::~CEngine(void)
{
}
void CEngine::SetWindowSize(int winW, int winH, const char* GameName, int windowMode)
{
// set up SDL for use
sdl_setup = new CSetupSDL(winW, winH, GameName, windowMode);
}
void CEngine::Begin(void)
{
while (playing && sdl_setup->GetMainEvent()->type != SDL_QUIT)
{
sdl_setup->Begin();
sdl_setup->End();
}
playing = false;
}
int CEngine::GetDisplayWidth(void){ return deskW; }
int CEngine::GetDisplayHeight(void){ return deskH; }
DelveEngine 项目构建成功,而 delveenginetest 项目失败。
怎么了?我到处找原因,找不到适合我的。
【问题讨论】:
-
我已经看到了,在这种情况下它对我没有帮助
-
不相关,但对于 c++ 中的空参数列表,您不需要说
void。 -
我知道这一点。帮助会非常好。
-
'帮助将非常好。' 抱歉,我无法从您发布的内容中找出问题所在。这可能意味着问题出在您在此处提供的信息空间之外(这本质上受您的技能限制)。我对你提到的两个项目以及它们的实际关系有点怀疑。