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

我的地盘我做主
该用户从未签到
 |
< >
! p) [" [- x8 G# p' p4 p: y </P>
+ |9 ^! N7 v( @; x ~& N< > </P>, o' ~# y/ O' ^5 ~% h
< >" o) W3 j( ^; K0 ~' N1 G" b
这是一个简要的指南,可以指导你如何在BCB中使用DirectX SDK。 </P>
0 t' [; a; c7 H9 L' n( O< >我在这里假定你的BCB的安装路径在:C:\Borland\CBuilder\,DirectX SDK在C:\dx5sdk\</P>3 [& X* M- M1 e3 |0 A+ B
< >设置 Borland C++ Builder </P>
& v; {$ W4 A2 U' P% K" L I< >#include</P>) Z! u$ c* M$ l+ l- e
< >这是许多人遇到的麻烦, Borland在BCB的\Include路径下提供了DirectX的头文件, 如果只是把c:\dx5sdk\sdk\inc\加到BCB的include路径下,它会进行如下步骤: </P>
4 a; V- u6 e8 L. y9 R< >查找 C:\Borland\Cbuilder\Include\路径 </P>/ S# ~7 @0 e4 c" u) |: N) Q3 D0 z
< >发现ddraw.h 头文件,使用它; </P>4 k2 ^: S7 D @" Y! L
< >除了他发现的是DirectX3的头文件之外,倒是没有什么坏处,但这毕竟不是什么好事。 </P>& H# a3 F% o/ m% A, |8 j
< >为了避免BCB这样做,我建议只是简单的把DirectX SDK的\inc路径下的文件都copy到BCB的\Include路径下, 并且覆盖掉原有的DirectX头文件,相信我,这是在所有的解决办法中最好的一种。 </P>! M8 q. |& O' l4 v( C+ W
< >库文件</P>
2 |5 l/ ^) e) Z- p% Y0 J+ u; T) R+ o< >可能在随DirectX发放的Borland编译器使用的库文件有一些毛病,我建议你在这里下载这个文件, 在BCB的\lib路径下解压,一切OK! </P># i# d {: P% G
< >关于工程 </P>4 a& |9 o6 T! m% o
< >千万不要错误的使用模板创建工程,来创建一个程序,你可能不久就会明白了什么叫做“悲惨世界”, 明智的解决办法是进行如下四个简单的步骤: </P>
* c, K# g2 i7 F+ H; z< >创建一个控制台程序(console application); </P>
7 s4 [& l0 _6 Y$ _- t< >到Options | Project菜单选择Linker页面,然后将Console设置为Win32 GUI, </P>
8 [8 ~/ n1 ]6 E# W* l, Y( d< >写WinMain() 函数和 WinProc() 函数: </P>
7 o3 t8 n* d. k M; K< >写其它的部分。 </P>* Z1 F0 W, h5 a6 v; F/ |, R6 u
< >这里有一个例子。 </P>
/ g, Z b# e9 j {3 \& B< >这就完了吗? </P>
; ^. ^0 w s' ~# ]( U# `< >很不幸,没有!BCB使用一种老方式处理"define", 所以在每一个DircetX应用程序的define部分都要添加如下代码:</P>
$ A, G* G. E% V# g9 `6 ]% o< >#if defined( __BORLANDC__ ) && defined( __WIN32__ )
. Q) F: Z C& O Q4 ^& r* ?#define _WIN32
) c L" D$ Z1 u#endif</P>& e7 |1 g: w1 r. M1 p2 \
< >现在差不多了。 </P>
" r, L# {, x0 M7 f< >其它问题 </P>1 k2 P2 y- d/ v4 x9 j0 H' T. o
< >如果编译时还有问题,再试一试加入如下代码:</P>$ B9 G& Z3 m& Q3 X
< >#define WIN32+ C# b/ T. b- H0 P3 a/ Z/ g
#define WIN95
; O7 y/ w- \+ ?2 u( q</P> |
zan
|