《C++游戏开发》第4章源代码编译问题的解决


1、 打开dev c++,点击Tools->check for updats/pakages,如图1:
 《C++游戏开发》第4章源代码编译问题的解决 - cqusuperyang - cqusuperyang的博客
图1
2、在select devpak server下拉选项中选择devpaks.org Community Devpaks选项,如图2,然后点击check for updats:
 《C++游戏开发》第4章源代码编译问题的解决 - cqusuperyang - cqusuperyang的博客
图2
3、当检查更新完成后,勾选openAL选项,点击download selected,如图3:(如果下载不了,直接下载http://download.youkuaiyun.com/source/1853440链接上的文件OpenAl,解压即可使用)
 《C++游戏开发》第4章源代码编译问题的解决 - cqusuperyang - cqusuperyang的博客
图3
4、完成安装后,在C:/Dev-Cpp下会有一个OpenAL-0.099-mingw的文件夹(前提是你的DEV装在C盘下),进入,将include文件夹里的所有文件拷到C:/Dev-Cpp/include下,将lib文件下的所有文件拷到C:/Dev-Cpp/lib下,之后再将lib文件下的OpenAL32.dll拷到C:/WINDOWS/system32下(我的是XP系统,其它系统可能稍有不同)。
5、运行书中源代码
(说明:按照书上的创建顺序构建工程,会报如图4的错误,具体原因还不清楚,正在查找中,其它朋友如果有答案麻烦告知一声)
 《C++游戏开发》第4章源代码编译问题的解决 - cqusuperyang - cqusuperyang的博客
图4
5.1 于是运行光盘中所给的代码,我将PROG_04_01文件夹拷至D盘下D:/PROG_04_01,将LLAMAWORKS2D文件夹也拷至D盘下D:/LLAMAWORKS2D,这样项目才可以正常引用该引擎文件,也可以在DEV中设置路径,不细述。
点击project->project options,如图5:
《C++游戏开发》第4章源代码编译问题的解决 - cqusuperyang - cqusuperyang的博客 
图5
5.2 选择compiler->linker,在Do not use standard system startup files or libraries这项改为No(默认是Yes,务必勾选此项,否则编译无法通过),如图6所示:
 《C++游戏开发》第4章源代码编译问题的解决 - cqusuperyang - cqusuperyang的博客
图6
5.3 添加openAl,openGl库
在项目名称上右击,选择project options,如图7:
 《C++游戏开发》第4章源代码编译问题的解决 - cqusuperyang - cqusuperyang的博客
图7
在弹出的对话框中选择Parameters,在Linker中依次添加:Alut.a、libOpenAL32.a、ALu.a、ALc.a、Libwinmm.a、Libopengl32.a(注意顺序,否则编译报错),如图8:
 《C++游戏开发》第4章源代码编译问题的解决 - cqusuperyang - cqusuperyang的博客
图8
6、做完这一切后,激动人心的时刻到啦,按F9,运行,出现如图9所示的运行结果,成功。
 《C++游戏开发》第4章源代码编译问题的解决 - cqusuperyang - cqusuperyang的博客
图9
后记:个人认为《C++游戏开发》是一本很不错的书,循序渐进,由浅入深,讲的很好,不过由于第4单元出现的编译问题,让很多人都唾弃这本书,现在国内这本书好像已经不再出版了,国外还召回了这本书,我认为之所以出现这种问题,可能是作者DEV编译器的配置问题,不是该编译器默认值,5.2步中将Yes 选项改为No选项就是一个说明,我猜想开始的内存出错问题也有很大可能与配置有关,朋友们如果有时间可以对比一下自己创建的DEV工程配置参数和作者提供的DEV工程的配置参数的差异,可能会发现之中存在的问题。

 

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值