《3D游戏编程大师技巧》第三章代码编译问题及解决

在使用VS2017编译《3D游戏编程大师技巧》第三章代码时遇到<dmusici.h>等文件缺失、POINTER_64未定义、LPWAVEFORMATEX未定义等问题。通过下载DirectX8 SDK,调整工程设置,以及修改源代码,成功解决了所有问题。具体包括添加SDK路径到编译链接器,定义POINTER_64,处理Precompiled Headers和LPWAVEFORMATEX未定义,以及修正局部变量定义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编译环境vs2017(win10),在实现3D游戏编程大师技巧第三章的代码时不出意料地出现了大量的编译问题,花了一天时间以及在网上查找了很多的资料,终于解决了,下面是我的解决方案(不一定适用于所有人):


1、首先win10的SDK里已经没有了<dmusici.h>和<dmusicf.h>,所以我在网上找了DirectX8 SDK下载下来(windows游戏编程大师技巧的源码当然也要下载下来,网上也有),然后添加到工程(直接复制到同一目录估计也可以):

Property -> Configuration Properties -> C/C++ -> Additional Include Directories 

-> 添加文件夹

..\DX8_VcSDK(DX8的SDK文件夹)\include;


Property -> Configuration Properties -> Linker -> General -> Additional Library Directories

 -> 添加目录

..\DX8_VcSDK\lib;


Property -> Configuration Properties -> Linker -> Input ->Additional Dependencies

 -> 添加库文件

ddraw.lib

dinput.lib

dxguid.lib    /*添加这个之后T3DCONSOLE2.CPP里面的 #define INITGUID 可以注释掉了*/

dsound.lib

WinMM.Lib    /*这个库不是DX8SDK中的,是WIN10SDK中的,所以也无需将目录包含进来*/

dinput8.lib    /*这个是最后才发现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值