耶?链接的时候出现 error LNK2019: 无法解析的外部符号 "int __cdecl Game_Shutdown(void *)"这是什么原因内?

时间:2022-03-21 16:21:40
诸位大大,我在看Windows 游戏编程大师技巧一书,环境是Visual Studio 2008.

文中的第一章的一个例程就是Freakout的一个游戏.

我已经安装了DirectX SDK,也把include和lib/x86目录添加讲了Visual Studio目录里面.


可是在编译的时候,还是出现了如下错误,这是为什么内?

1>------ 已启动生成: 项目: FreakOut, 配置: Debug Win32 ------
1>正在编译...
1>freakout.cpp
1>d:\文档\project\game\freakout\freakout\freakout.cpp(120) : warning C4101: “ps”: 未引用的局部变量
1>d:\文档\project\game\freakout\freakout\freakout.cpp(119) : warning C4101: “hdc”: 未引用的局部变量
1>正在链接...
1>freakout.obj : error LNK2019: 无法解析的外部符号 "int __cdecl Game_Shutdown(void *)" (?Game_Shutdown@@YAHPAX@Z),该符号在函数 _WinMain@16 中被引用
1>freakout.obj : error LNK2019: 无法解析的外部符号 "int __cdecl Game_Main(void *)" (?Game_Main@@YAHPAX@Z),该符号在函数 _WinMain@16 中被引用
1>freakout.obj : error LNK2019: 无法解析的外部符号 "int __cdecl Game_Init(void *)" (?Game_Init@@YAHPAX@Z),该符号在函数 _WinMain@16 中被引用
1>D:\文档\Project\GAME\FreakOut\Debug\FreakOut.exe : fatal error LNK1120: 3 个无法解析的外部命令
1>生成日志保存在“file://d:\文档\Project\GAME\FreakOut\FreakOut\Debug\BuildLog.htm”
1>FreakOut - 4 个错误,2 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========


谢谢诸位大大啦.

6 个解决方案

#1


你有一个cpp文件没有加入编译。

#2


查找Game_Shutdown等三个函数在哪个.cpp文件中?

#3


有两个CPP档案,freakout.cpp和blackbox.cpp.

那三个函式是在freakout.cpp.

blackbox.cpp没有被编译,奇怪,为什么会没有被编译呢?

#4


谢谢,代码原来被动过,修改好之后现在好了,谢谢回答.

#5


引用 3 楼 tiwafic 的回复:
有两个CPP档案,freakout.cpp和blackbox.cpp. 

那三个函式是在freakout.cpp. 

blackbox.cpp没有被编译,奇怪,为什么会没有被编译呢?

blackbox.cpp没有被编译
---
加入工程了?
删除输出目录,重编译。

#6


已经加入工程,可能是代码没有包含blackbox.cpp所致,恢复代码之后好了,谢谢.

#1


你有一个cpp文件没有加入编译。

#2


查找Game_Shutdown等三个函数在哪个.cpp文件中?

#3


有两个CPP档案,freakout.cpp和blackbox.cpp.

那三个函式是在freakout.cpp.

blackbox.cpp没有被编译,奇怪,为什么会没有被编译呢?

#4


谢谢,代码原来被动过,修改好之后现在好了,谢谢回答.

#5


引用 3 楼 tiwafic 的回复:
有两个CPP档案,freakout.cpp和blackbox.cpp. 

那三个函式是在freakout.cpp. 

blackbox.cpp没有被编译,奇怪,为什么会没有被编译呢?

blackbox.cpp没有被编译
---
加入工程了?
删除输出目录,重编译。

#6


已经加入工程,可能是代码没有包含blackbox.cpp所致,恢复代码之后好了,谢谢.