游戏外挂制作研究的中文网络平台

前往游戏开发制作 http://www.gameres.com

 


  声明:GameRes严禁各类外挂、私服等商业行为,更不会以GameRes名义进行任何商业销售,请勿信任任何出售、购买、招聘内容,谨防受骗!不要轻易运行下载的可执行文件,谨防恶意发布的木马病毒。

VC2005下编译DirectX9.0的SDK问题 请高手赐教!!! - 游戏外挂研究院
注册GameRes用户 登录 找回密码 |  精华区索引 | 新帖快速索引 | 本版精华区欢迎访问本论坛!

游戏外挂研究院 » 程序综合、DirectX » VC2005下编译DirectX9.0的SDK问题 请高手赐教!!!

  声明:此资讯仅供参考,不代表本站观点,请明辨信息正确性,如果信息错误、虚假,请给我们来信,我们将进行查处。

本主题共有5张帖子, 被点击5177 发表新主题发表回复发布新投票
coollemen
Exp:6

新成员
 发表于: 2006-2-1 21:41:00

{threadNotes} VC2005下编译DirectX9.0的SDK问题 请高手赐教!!!

VC2005下编译DirectX9.0的SDK问题 
 
VC2005下编译DirectX9.0的SDK问题
编译$(DXSDK)\Samples\C++\DirectShow\BaseClasses下的BaseClasses时出错
Compiling...
dllentry.cpp
C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winnt.h(222) : error C2146: syntax error : missing ';' before identifier 'PVOID64'
C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winnt.h(222) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winnt.h(5940) : error C2146: syntax error : missing ';' before identifier 'Buffer'
C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winnt.h(5940) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winnt.h(5940) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\DXSDK\include\uuids.h : warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss

Winnt.h 222行
typedef void * POINTER_64 PVOID64;

在vc的目录下grep了一把POINTER_64, 发现定义在$(VC)\PlatformSDK\Include的basetsd.h 38行
#define POINTER_64 __ptr64
分明有定义,怪了。
加上/E /P看预处理文件文件,才发现其中奥秘 
dllentry.i 6172行
#line 1 "c:\\DXSDK\\include\\basetsd.h"
水落石出!没有包含vc自带的basetsd,include路径设置有问题。在project的property pages中把Additional Include Directories中把 "..\..\..\..\include"去掉就OK了


我也是出现和他一样的问题,可是按他的做了后还是老问题,请高手具体说明怎么导入库,怎么编译的方法,谢谢大家了
 
  

 注册: 2006-1    状态: Offline 1   Top
Elvis
Exp:36

新成员
 发表于: 2006-2-3 10:05:00

{threadNotes} Re:VC2005下编译DirectX9.0的SDK问题 请高手赐教!!!

是不是你的包含的头文件有冲突,例如包含的最新的microsoft sdk库可能跟默认的vc库冲突,你将库的次序调整一下试试,我以前也碰到过这个问题,但想不起来怎么解决的了,反正不用修改代码的.


 注册: 2003-12    状态: Offline 2   Top
instemast
Exp:2922

骑士队长
 发表于: 2008-4-26 9:50:00

{threadNotes} Re:VC2005下编译DirectX9.0的SDK问题 请高手赐教!!!

C:\Program Files\Microsoft Visual Studio\VC98\Include
把这个设置在$(VCInstallDir)XXXXXX 的上方

LIB目录不要动。

这样一般没有问题,不过,坏处是:

1 STL无法使用,不过我不用
2 d3d无法设置断点,不过ddraw可以

 注册: 2006-12    状态: Offline 3   Top
instemast
Exp:2922

骑士队长
 发表于: 2008-4-26 10:22:00

{threadNotes} Re:VC2005下编译DirectX9.0的SDK问题 请高手赐教!!!

还有,编写DShow的话,需要做一个小小的修改:
C:\Program Files\Microsoft Visual Studio\VC98\Include\ocidl.h
4676行,会报告出错,我是这么改的:

/****************************************
 * Generated header for interface: IFontEventsDisp
 * at Thu Sep 11 10:57:01 1997
 * using MIDL 3.03.0110
 ****************************************/
/* [unique][uuid][object] */ 

/// instemast

//typedef __RPC_FAR *LPFONTEVENTS;
#define LPFONTEVENTS __RPC_FAR *

/// instemast


 注册: 2006-12    状态: Offline 4   Top
instemast
Exp:2922

骑士队长
 发表于: 2008-4-26 11:07:00

{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中不添加它~~

 注册: 2006-12    状态: Offline 5   Top
共1页,选择:   1  

主题管理:   删除关闭/取消置顶/取消精华/取消移动编辑主题 |  [提问/交流/原创/作品/业内/关闭/清除]

游戏外挂研究院 » 程序综合、DirectX » VC2005下编译DirectX9.0的SDK问题 请高手赐教!!!

您尚未登录论坛,可以同通过这里进行登录,如果您不是GameRes用户,可以点击这里立即注册

关于本站 | 投稿指南 | 广告服务 | 联系本站

未经书面许可,请勿转载、链接本站内容,否则非法引用所造成的后果自负;
本站不对所提供的所有资讯正确性负责,若因资讯导致的任何损失本站概不负责,请自行斟酌。
闽ICP备05005107号
Copyright © 2001-2008 GameRes游戏开发资源网 All Rights Reserved.