关于vc6.0下使用DirectX 9的中输入输出设备编译不同过的问题


    最近需要用D3D开发程序,平台是VC6.0,比较古老了,使用中遇到各种问题,将其中一些困扰时间较长的问题列出,供同样遇到此问题人做参考。


        1VC6环境下,使用D3D设备,需要包含#include<dinput.h> 头文件,由于在VC6include中已有该头文件,而该文件中的DX版本较低,因此会出现LPDIRECTINPUTDEVICE8未定义等错误,解决办法:


1)将dinput.h拷贝到当前工程目录;


2)在tool->options中的Directories选项卡中的include file列表中将D3Dinclude目录放在VC6平台的include目录之前。


         2VC6环境下,编译时出现D3dxInput.obj: error LNK2001: unresolved external symbol _IID_IDirectInput8A d错误,也是由于vc6.0中的lib库中包含dxguid.lib,编译时连接到vc6.0自带的dxguid.lib,而不是D3D中的dxguid.lib文件。


解决办法:在tool->options中的Directories选项卡中的Library file列表中将D3Dlib目录放在VC6平台的lib目录之前。


编译链接使用了正确的lib文件,但又会出现如下错误(debug版本出错,release版本没有):


dxguid.lib(dxguid.obj) : fatal errorLNK1103: debugging information corrupt; recompile module


网上查了很久,是没有调式信息导致,Project ->Project Setting中的Link选项卡下的 Genereatedebug info 选项取消前面的“”,在编译就能顺利通过了



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值