如何在BCB中使用DirectX

这是一个简要的指南,可以指导你如何在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路径下,它会进行如下步骤:

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

发现ddraw.h 头文件,使用它;

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

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

库文件

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

关于工程

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

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

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

写WinMain() 函数和 WinProc() 函数:

写其它的部分。

这里有一个例子。

这就完了吗?

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

#if defined( __BORLANDC__ ) && defined( __WIN32__ )

#define _WIN32

#endif

现在差不多了。

其它问题

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

#define WIN32

#define WIN95

时间: 2025-01-30 07:21:41

如何在BCB中使用DirectX的相关文章

如何在BCB中使用CodeGuard

一.为什么写这篇东西 自己在使用BCB5写一些程序时需要检查很多东西,例如内存泄漏.资源是否有释放等等,在使用了很多工具后,发觉BCB5本身自带的工具--CodeGuard,非常不错,使用也挺方便的,但是摸索了很久(以及翻查了一些资料,包括HELP)才算是会用了.写这篇文章的目的希望有这方面的问题的朋友可以借鉴一下,大家互相学习,共同进步.我的联系方法:Email:szbug@szbug.com,希望志同道合的朋友来信互相交流.以下这篇文章算是拼凑出来的一篇文章,一些资料是在书上找的,一些是在H

如何在BCB中调试Active Form

1. Project-->Options-->Compiler-->点击Full Debug 2. Project-->Build All Projects 3. 在需要调试的代码处加断点. 4. Project-->Web Deployment Options-->Directories and URLs (1)Target dir(Full path of the deployed OCX) 填写你的OCX发布的地址,如C:\ccrun\www\ (2)Target

C#:如何在picturebox中显示已捕获的视频

问题描述 问题简单描述:现有代码用API实现了先新建一个子窗口,然后在子窗口中实时显示捕获的视频,如何在点击播放buuton后,在同一窗口的picturebox(任何控件都可以)中显示动态视频?(希望能给出代码示例或操作流程)我了解到的办法是:不停保存视频中每一帧的图片,弄一个Timer,不停地加载图片(以较高的频率).但我不知道怎么实现,如果这样做可以的话,希望能给出代码示例或操作流程?问题详述:我已经使用Directshow捕获了视频,并转化为了OpenCV里定义的IplImagege格式.

BCB中的RTTI机制

BCB中的RTTI机制RTTI在BCB中其实有两个意义.首先,针对一般标准的C++中所定义的,RTTI是所谓的Run-Time Type Identification的缩写.传统的程序语言中,所谓的数据型态仅在Compile-Time有所作用.举例而言,您宣告了一个变量a,并且指定其型态为整数.您如何在Run-Time期间知道他的型态是整数呢?很遗憾的是,在原来的C/C++中您是无法知道这样的事情的.或者会问,这样的信息有何作用?若是您考虑对象的继承关系,您就会发现其重要性了.举例而言,若您有下

qt-如何在QSqlQueryModel中实现增删查改,然后如何与mysql数据库同步更新

问题描述 如何在QSqlQueryModel中实现增删查改,然后如何与mysql数据库同步更新 本人是个菜鸟在做一个简单的同学录系统,这是进入之后的界面 我想实现鼠标选取一个表格点击"修改同学信息"之后能对它在修改并且修改确定后能同步刷新MySQL数据库而且表格中的数据也更新. 下面是我的代码:#include ""record.h""#include ""ui_record.h""#include &qu

Win7系统如何在excel中添加word文档结构图

  Win7系统如何在excel中添加word文档结构图          方法一: Word提供了一个很方便的功能--文档结构图,通过文档结构图可以在整个文档中快速浏览并追踪特定的文件内容位置.文档结构图是一个独立的窗口,类似于大纲视图,它能够显示文档的标题,单击文档结构图中的标题后,Word就会自动转到文档中的相应标题,并将其显示在窗口的顶部.用户可以单击菜单""视图"-"文档结构图"来打开它.但是EXCEL中没有提供文档结构图,那么如何管理数据量较大

如何在java中实现读取一个txt文档中的随机一行

问题描述 如何在java中实现读取一个txt文档中的随机一行 如题,如何在java中实现读取一个txt文档中的随机一行? 主要就是怎么随机读取 解决方案 根据楼上的说法,来总结一下吧,总体来说,就是将文件全部都读取出来,每一行存储到一个数组或集合中,然后再通过产生随机数,来对这个数组或是 集合进行随机的访问.这样一来就解决了 解决方案二: 文本文件只能顺序读,不能随机读.你的需求只能是读取文本文件每一行到一个arraylist,然后得到下标范围,产生一个随机数,取那一行 解决方案三: http:

如何在ftp中开放tar权限

问题描述 如何在ftp中开放tar权限 看到有大神说,想在ftp中get一个目录mydir,可以直接使用命令get mydir.tar即可,ftp服务会自动打包的.可是为什么我做不到.该如何开放ftp中的tar权限呢 解决方案 ftp本身没有你说的功能,要看你的服务器用的是什么

以前收集的一些资料---如何在ASP中通过ODBC调用Excel中的数据

excel|odbc|数据                如何在ASP中通过ODBC调用Excel中的数据    在ASP中通过ODBC调用Excel中的数据方式和普通的通过ODBC调用数据库的方式有一些不同的地方.下面将介绍如何通过ODBC在ASP中使用Excel的数据.    在使用的过程中,要注意的是你需要使用的ODBC驱动为:Microsoft ODBC Driver for Excel. 下面给出一个例子来具体说明如何调用的过程:1.在Excel的电子表格中新建一个叫Range的表单a