数学建模社区-数学中国

标题: 在BCB中使用DirectX [打印本页]

作者: 韩冰    时间: 2005-1-26 12:56
标题: 在BCB中使用DirectX
<>( t& V3 {8 f* q- r* w! `
</P>
+ W( k( c( {# t" j) j7 \& }  B<>     </P>  Q3 ?2 H+ @0 b8 Y; S6 g6 f( e
<>5 z3 M  G3 {( `# \- L! m! d. c3 G
这是一个简要的指南,可以指导你如何在BCB中使用DirectX SDK。 </P>
4 H  P9 ]' c9 W( t% t& R<>我在这里假定你的BCB的安装路径在:C:\Borland\CBuilder\,DirectX SDK在C:\dx5sdk\</P>
% R; Z" u  i: k  m<>设置 Borland C++ Builder </P>
4 Q; Z# @, d% k) w: _0 I<>#include</P>5 ?5 h% i5 G8 G& Y% M- r! B
<>这是许多人遇到的麻烦, Borland在BCB的\Include路径下提供了DirectX的头文件, 如果只是把c:\dx5sdk\sdk\inc\加到BCB的include路径下,它会进行如下步骤: </P>
; P. e" r' {+ B/ L3 d  c<>查找 C:\Borland\Cbuilder\Include\路径 </P>0 m. n9 e# c2 S
<>发现ddraw.h 头文件,使用它; </P># B2 Z) D% v! M, q4 K
<>除了他发现的是DirectX3的头文件之外,倒是没有什么坏处,但这毕竟不是什么好事。 </P>
, h4 l! Y! B( n  Y<>为了避免BCB这样做,我建议只是简单的把DirectX SDK的\inc路径下的文件都copy到BCB的\Include路径下, 并且覆盖掉原有的DirectX头文件,相信我,这是在所有的解决办法中最好的一种。 </P>* B# x- y  t+ j; `; B! `
<>库文件</P>' n8 j' A$ V5 T/ I% ~$ o3 J* p
<>可能在随DirectX发放的Borland编译器使用的库文件有一些毛病,我建议你在这里下载这个文件, 在BCB的\lib路径下解压,一切OK! </P>; }. c( v; f: Q7 i- N) o3 D
<>关于工程 </P>
' A- D. Y; C' o/ U! l9 l& a/ E<>千万不要错误的使用模板创建工程,来创建一个程序,你可能不久就会明白了什么叫做“悲惨世界”, 明智的解决办法是进行如下四个简单的步骤: </P>9 }: S' R: ^5 P; }
<>创建一个控制台程序(console application); </P>
, V4 r8 J7 O# G+ \9 i1 _<>到Options | Project菜单选择Linker页面,然后将Console设置为Win32 GUI, </P>% \3 Z( D4 I/ u; K: w0 t; r) d) V
<>写WinMain() 函数和 WinProc() 函数: </P>
' |4 a- x; g, P, a<>写其它的部分。 </P>2 W. P: X+ b( j! {2 \+ h5 |  \
<>这里有一个例子。 </P>
3 c) r) X; L3 q<>这就完了吗? </P>
, z8 n% i9 @0 K) `<>很不幸,没有!BCB使用一种老方式处理"define", 所以在每一个DircetX应用程序的define部分都要添加如下代码:</P>
5 k. [. G5 |7 M& {  s6 Y<>#if defined( __BORLANDC__ ) &amp;&amp; defined( __WIN32__ )/ T7 ]' k+ u9 y
#define _WIN32, _9 W6 {5 Y& J- i3 }# W  E
#endif</P>1 W9 F+ z9 d! U2 {" m
<>现在差不多了。 </P># k9 Q; @/ v  o6 c; d1 E
<>其它问题 </P>
5 v- r' J/ o5 ^: B& E/ a2 K7 q<>如果编译时还有问题,再试一试加入如下代码:</P># C; |: X3 r! N. s. U* B
<>#define WIN32
) |$ X: Z0 M9 o% E3 k#define WIN95
& n% l7 S5 Q% E: Z& W5 m( K</P>




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5