{threadNotes}
Re:VC2005下编译DirectX9.0的SDK问题 请高手赐教!!!
刚才又试了一种方法,不使用VC6.0的头文件, 而是把DXSDK\include\basetsd.h给改名了。VC6.0等会在说。。。关键在于,6.0和2005中对于POINTER_64的定义为止不同。 6.0是在winnt.h中定义的,然后再包含basetsd.h, 8.0是在basetsd.h中定义的。 DXSDK自带了一个basetsd.h,是VC6.0下的DX开发准备的,里面没有POINTER_64的定义。 这样问题就很明了了。即: 在VC2005下面,不应该包含旧的basetsd.h 在VC6.0下面,需要使用DXSDK自带的basetsd.h, 否则他也不会自带一个了。 看看,把DXSDK下的basetsd.h改名之后,VC6.0编写DX程序就有问题了: --------------------Configuration: instGraphicsTest - Win32 Debug-------------------- Build : warning : failed to (or don't know how to) build 'c:\dxsdk\include\basetsd.h' 我还没有发现不使用DXSDK下面的basetsd.h会带来什么问题, 不过谨慎起见还是不要这么做鲁莽,至少,在发行游戏的时候,使用DXSDK的basetsd.h编译。 我的方法是,把DXSDK\include\basetsd.h放在一个单独的目录里, DXSDK\include\vc6\basetsd.h 添加到VC6.0的include路径中,而在vc2005中不添加它~~
|