使用C++ Builder开发DirectX应用程序

by Ralph
翻译：Pigprince

介绍

这是一个简要的指南，可以指导你如何在BCB中使用DirectX SDK。

不过我看了之后觉得如果这么做是不是有点太高难了点吧？请有'痔'于在BCB中自己做WinMain和WinProc的观之。

这是一个简要的指南，可以指导你如何在BCB中使用DirectX SDK。

我在这里假定你的BCB的安装路径在：C:\Borland\CBuilder\，DirectX SDK在C:\dx5sdk\

设置 Borland C++ Builder

#include

这是许多人遇到的麻烦， Borland在BCB的\Include路径下提供了DirectX的头文件， 如果只是把c:\dx5sdk\sdk\inc\加到BCB的include路径下，它会进行如下步骤：

1. 查找 C:\Borland\Cbuilder\Include\路径

2. 发现ddraw.h 头文件，使用它；

除了他发现的是DirectX3的头文件之外，倒是没有什么坏处，但这毕竟不是什么好事。

为了避免BCB这样做，我建议只是简单的把DirectX SDK的\inc路径下的文件都copy到BCB的\Include路径下， 并且覆盖掉原有的DirectX头文件，相信我，这是在所有的解决办法中最好的一种。

库文件

可能在随DirectX发放的Borland编译器使用的库文件有一些毛病，我建议你在这里下载这个文件， 在BCB的\lib路径下解压，一切OK！

关于工程

千万不要错误的使用模板创建工程，来创建一个程序，你可能不久就会明白了什么叫做“悲惨世界”， 明智的解决办法是进行如下四个简单的步骤：

1. 创建一个控制台程序(console application);

2. 到Options | Project菜单选择Linker页面，然后将Console设置为Win32 GUI，

3. 写WinMain() 函数和 WinProc() 函数：

4. 写其它的部分。

这里有一个例子。

这就完了吗？

很不幸，没有！BCB使用一种老方式处理"define"， 所以在每一个DircetX应用程序的define部分都要添加如下代码：

#if defined( __BORLANDC__ ) && defined( __WIN32__ )
#define _WIN32
#endif

现在差不多了。

其它问题

如果编译时还有问题，再试一试加入如下代码：

#define WIN32
#define WIN95