数学建模社区-数学中国
标题:
在BCB中使用DirectX
[打印本页]
作者:
韩冰
时间:
2005-1-26 12:56
标题:
在BCB中使用DirectX
<
>
1 R' g% c. @6 R. Q _- F% J% ^
</P>
8 m# P6 c8 b: i. W8 g
<
> </P>
! W. P0 M0 L k8 C" i. d; A
<
>
* ]4 d" T! B& t8 z* q
这是一个简要的指南,可以指导你如何在BCB中使用DirectX SDK。 </P>
6 w4 p! m3 L, ?2 U( H+ y
<
>我在这里假定你的BCB的安装路径在:C:\Borland\CBuilder\,DirectX SDK在C:\dx5sdk\</P>
& E: y- }3 T( i: \9 f) a7 W
<
>设置 Borland C++ Builder </P>
: F4 u. \3 w* P& q( Y: X9 J; K- U
<
>#include</P>
* y5 K0 n3 j+ U2 x9 ?5 X
<
>这是许多人遇到的麻烦, Borland在BCB的\Include路径下提供了DirectX的头文件, 如果只是把c:\dx5sdk\sdk\inc\加到BCB的include路径下,它会进行如下步骤: </P>
$ Q3 V- u/ ?) B" _; t; s& T$ ^
<
>查找 C:\Borland\Cbuilder\Include\路径 </P>
# n" r/ x! l! V8 c
<
>发现ddraw.h 头文件,使用它; </P>
) Q2 @' x7 b& D; j' H) R
<
>除了他发现的是DirectX3的头文件之外,倒是没有什么坏处,但这毕竟不是什么好事。 </P>
% P) v& h: _! i* h& G) \
<
>为了避免BCB这样做,我建议只是简单的把DirectX SDK的\inc路径下的文件都copy到BCB的\Include路径下, 并且覆盖掉原有的DirectX头文件,相信我,这是在所有的解决办法中最好的一种。 </P>
# w6 p; }/ a& t# [2 j
<
>库文件</P>
4 ?2 v1 `! Y. y7 r, X' d9 r, \
<
>可能在随DirectX发放的Borland编译器使用的库文件有一些毛病,我建议你在这里下载这个文件, 在BCB的\lib路径下解压,一切OK! </P>
' H+ I! M+ @# c$ D1 p' P
<
>关于工程 </P>
2 a/ s7 e5 p5 ]4 n2 L
<
>千万不要错误的使用模板创建工程,来创建一个程序,你可能不久就会明白了什么叫做“悲惨世界”, 明智的解决办法是进行如下四个简单的步骤: </P>
/ a! W3 M9 v& X4 g- D5 H9 O0 N' {
<
>创建一个控制台程序(console application); </P>
' n- s& U( [: f; g2 O& ]( {
<
>到Options | Project菜单选择Linker页面,然后将Console设置为Win32 GUI, </P>
- w" X) u+ Y0 Z- U: ~
<
>写WinMain() 函数和 WinProc() 函数: </P>
7 o1 j t) g% N. d; _7 ~1 y+ T
<
>写其它的部分。 </P>
1 L- f: A2 I3 P
<
>这里有一个例子。 </P>
4 z" g- c, L* X# S+ n' ~5 [; a; k
<
>这就完了吗? </P>
8 G* ]& W; T5 y! A+ n8 s8 x
<
>很不幸,没有!BCB使用一种老方式处理"define", 所以在每一个DircetX应用程序的define部分都要添加如下代码:</P>
) \2 D! n3 @ F1 V9 s2 L' L' A
<
>#if defined( __BORLANDC__ ) && defined( __WIN32__ )
& [1 t R" v; `
#define _WIN32
& N8 Q1 w* W7 C D2 t
#endif</P>
8 m4 r. @# y/ V4 {
<
>现在差不多了。 </P>
3 W! [2 s$ \# r
<
>其它问题 </P>
& v& j0 `; q s7 H- m' G
<
>如果编译时还有问题,再试一试加入如下代码:</P>
* G+ E# q# Y4 a2 f I
<
>#define WIN32
7 \8 R2 _1 e6 \, J- |8 K* w
#define WIN95
& D1 h! S% u* w9 x$ x5 K
</P>
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5