C++ LNK2019:在WinMain中调用函数
我到处都找遍了,似乎找不到答案。显然没有人做过这样的事。我正在尝试从用户那里获取输入C++ LNK2019:在WinMain中调用函数,c++,C++,我到处都找遍了,似乎找不到答案。显然没有人做过这样的事。我正在尝试从用户那里获取输入 while(!done) { PeekMessage(&msg,NULL,NULL,NULL,PM_REMOVE); if (msg.message == WM_QUIT) { done = true; //if found, quit app } else if (msg.message == WM_KEYDOWN) { game->Key
while(!done)
{
PeekMessage(&msg,NULL,NULL,NULL,PM_REMOVE);
if (msg.message == WM_QUIT) {
done = true; //if found, quit app
} else if (msg.message == WM_KEYDOWN) {
game->KeyDown(msg.wParam);
} else if (msg.message == WM_KEYUP) {
game->KeyUp(msg.wParam);
} else {
/* Translate and dispatch to event queue*/
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
return msg.wParam;
当我运行它时,它会显示错误:
error LNK2019: unresolved external symbol "public: void __thiscall Game::KeyDown(unsigned int &)" (?KeyDown@Game@@QAEXAAI@Z) referenced in function _WinMain@16
我在游戏类的标题中定义了所有内容。。。它的子系统设置为nothing,但是“(/subsystem:WINDOWS)”可以工作。小菜一碟。“未解析外部符号”最常见的意思是您声明了一个函数,但没有指定它的作用。考虑下面的例子:
void undefined();
void LNK2019()
{
undefined(); //the offending line
}
void main()
{
//doesn't even have to do anything; it's not a runtime error
}
函数LNK2019()
调用undefined()
,但您从未告诉undefined()
该怎么做。你的链接器不知道如何利用这条线。在您的特定情况下,我打赌Game::KeyDown
没有身体
关于代码的其他一些注释:
if-else
树;使用开关盒
。它通常更快,而且更具可读性WndProc
)应处理所有Windows消息-的全部目的是向该功能发送消息void undefined();
void LNK2019()
{
undefined(); //the offending line
}
void main()
{
//doesn't even have to do anything; it's not a runtime error
}
函数LNK2019()
调用undefined()
,但您从未告诉undefined()
该怎么做。你的链接器不知道如何利用这条线。在您的特定情况下,我打赌Game::KeyDown
没有身体
关于代码的其他一些注释:
if-else
树;使用开关盒
。它通常更快,而且更具可读性WndProc
)应处理所有Windows消息-的全部目的是向该功能发送消息经过一个小时的寻找这个错误。。谢谢你。我完全错过了放球游戏::在KeyDown面前..@BrandonWoolworth xD我知道那种感觉,兄弟。如果有帮助的话,考虑接受它。一小时后才发现这个错误。谢谢你。我完全错过了放球游戏::在KeyDown面前..@BrandonWoolworth xD我知道那种感觉,兄弟。如果有帮助,就把它当作答案。