- 在线时间
- 0 小时
- 最后登录
- 2007-9-23
- 注册时间
- 2004-9-10
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 9975 点
- 威望
- 7 点
- 阅读权限
- 150
- 积分
- 4048
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1893
- 主题
- 823
- 精华
- 2
- 分享
- 0
- 好友
- 0

我的地盘我做主
该用户从未签到
 |
< >5 A# b% {+ h3 R6 U1 s8 B \ Y
</P>1 Y8 P$ @& W0 e; l! g& y
< > </P>
- ? M* v/ t, x/ Z( u< >& S V7 L4 m$ @
这是一个简要的指南,可以指导你如何在BCB中使用DirectX SDK。 </P>
. K/ M7 @* r/ _* H% I< >我在这里假定你的BCB的安装路径在:C:\Borland\CBuilder\,DirectX SDK在C:\dx5sdk\</P>
8 f: ~6 {& C, y) J< >设置 Borland C++ Builder </P>$ b4 m* Z3 }5 Y* d# R# F
< >#include</P>2 _! h' A1 F8 X
< >这是许多人遇到的麻烦, Borland在BCB的\Include路径下提供了DirectX的头文件, 如果只是把c:\dx5sdk\sdk\inc\加到BCB的include路径下,它会进行如下步骤: </P>
$ U( v3 t, E7 \7 k' j1 ~4 `< >查找 C:\Borland\Cbuilder\Include\路径 </P>
; w# \) A6 \* c" N$ P< >发现ddraw.h 头文件,使用它; </P>
- b6 W+ f! h1 ^* H; ^< >除了他发现的是DirectX3的头文件之外,倒是没有什么坏处,但这毕竟不是什么好事。 </P>1 I7 s) U+ r% `& N% @% k l; H
< >为了避免BCB这样做,我建议只是简单的把DirectX SDK的\inc路径下的文件都copy到BCB的\Include路径下, 并且覆盖掉原有的DirectX头文件,相信我,这是在所有的解决办法中最好的一种。 </P># h$ M4 W0 q4 t9 [# E" h, c: ]' f
< >库文件</P>& ^, Q! T* q6 @9 ^" t2 N9 w; U' ^
< >可能在随DirectX发放的Borland编译器使用的库文件有一些毛病,我建议你在这里下载这个文件, 在BCB的\lib路径下解压,一切OK! </P>/ `& E8 ~/ [+ | z# K
< >关于工程 </P>
( f* y! o6 H9 g+ q# X8 @0 T< >千万不要错误的使用模板创建工程,来创建一个程序,你可能不久就会明白了什么叫做“悲惨世界”, 明智的解决办法是进行如下四个简单的步骤: </P>7 Q( h( ]4 U; E T6 X
< >创建一个控制台程序(console application); </P>
/ \4 J. I, @% p0 j4 V' [ L< >到Options | Project菜单选择Linker页面,然后将Console设置为Win32 GUI, </P># @% i* x4 G) }+ [7 p R4 D9 ?
< >写WinMain() 函数和 WinProc() 函数: </P>4 P' E6 I5 ~6 A! H, N( K
< >写其它的部分。 </P>8 t- b9 D! Z# h( r5 e
< >这里有一个例子。 </P>
( K) U, K: Y9 i' y9 _$ S) R# i- B< >这就完了吗? </P>& j1 X' P9 r; ]& F. l! o7 r" t/ r
< >很不幸,没有!BCB使用一种老方式处理"define", 所以在每一个DircetX应用程序的define部分都要添加如下代码:</P>
( ~8 L. M* X! X- Y< >#if defined( __BORLANDC__ ) && defined( __WIN32__ )
' J2 G8 u" S$ q& s) @9 ]/ g& c#define _WIN32) b5 E& {/ ^3 E# O' o
#endif</P>
; _/ }5 O( {: W" a& D( G! ?* v< >现在差不多了。 </P>
' D, M) V# r. @0 A& n0 _< >其它问题 </P>
8 f5 B. U/ T9 [, F/ I" u< >如果编译时还有问题,再试一试加入如下代码:</P>) u0 x# z, |9 s! O+ E
< >#define WIN32
) ?6 N+ H' f" t/ h0 @4 G; ~#define WIN95
~/ ^+ ] i9 V9 x: m9 ]9 T</P> |
zan
|