哎。。。DirectX编程问题,高分
发布网友
发布时间:2022-04-27 01:38
我来回答
共5个回答
热心网友
时间:2022-06-22 02:50
写在前面:可能是我们的教程写得太少,以至一直有会员和朋友要问些入门的问题,比如“为什么我的DIRECTX例程无法编译?”,“为什么dtil.cpp文件无法编译?”。为了方便入门者,也省下自己回答的时间,还是在这里作一说明。其实这些东西在Directx的文档里都有,只是很多人没有耐心或者没有时间去读E文的文档吧。
一、安装DXSDK。说些废话,因为可能有朋友SDK都没听说过。简言之SDK是提供给程序开发者的一些公有接口和文档。比如你开发DIRECTX程序,就需要DXSDK,它里面有完整的DIRECTX说明文档(如果你有决心读一遍,胜过你买任何DX教材),DIRECTX例子,INCLUDE文件,LIB库,这些都是你写DIRECTX程序时所必须的。
如何找DXSDK?VSTUDIO98里面附有DX5的SDK版本,如果一时找不到其他版本的话,就凑合用它吧。我建议使用的是DX7SDK,在《中国计算机报》1999年11月光盘有(其他什么地方有我不太清楚)大小约100多M吧。
用SDK的什么版本?现在DIRECTX7大概所有用户都有RUNTIME版本,而DIRECTX8版本刚出来,很多玩家机器里并没有。因此我个人建议程序员先不要使用DX8,否则你的程序别人可能无法运行。毕竟从DX7转移到DX8不会很难,到时候再转也不迟。如果将来玩家手里DX8普及了,你就应该使用DX8SDK,依此类推。
二、复制文件。指的是将SDK的文件复制到VC目录下(这里不考虑BCB等编译器)。
(1)将(DX5以上版本)SDK文件夹下/INCLUDE文件夹中的所有.H文件复制到VC文件夹的/INCLUDE文件夹中。覆盖原来(DX5版本)的文件
(2)将SDK文件夹下/LIB文件夹中所有.LIB文件复制到VC文件夹的/LIB文件夹中,覆盖原来的文件。LIB文件夹下有个BORLAND文件夹,里面的东西是给BCB用的,用VC的话不需要复制它们。
三、添加头文件。如果你没有#include <ddraw.h>这样的句子,编译的时候会对你引用的DX成员报一个未命名错误。这个似乎是常识,不多说了。
重点说一下如何找不太用到的类的头文件,比如DSOUND,DMUSIC,DPLAY用哪些头文件?我方法是这样,如果程序不认“LPDIRECTSOUND”这样的名字,用WINDOWS的查找文件功能,在VC的INCLUDE文件夹中查找所有包含这个词的文件,很快就知道该用哪个.h了。
四、编译时加入链接。仅以上几步是不够的,VC缺省的连接库不包括DX的LIB库,你在使用DDRAW,DSOUND等接口时,编译时会出现LINKER错误提示。要解决这个问题必须加入连接。
加入方法:VC的/PROJECT/SETING菜单,跳出一个属性表单,在里面选中LINK卡片,在LIB一栏中加入:DXGUID.LIB(所有DX程序必须),DDRAW.LIB(DDRAW编译必须),DSOUND.LIB(DSOUND编译必须)。这些LIB名以空格隔开。
注意:DMUSIC和D3D等请自己去试,如果一直不成功,你将所有DX的LIB都填进去试一试,再逐个减,最后能得到需要的最少库文件。另外,应该将DEBUG和RELEASE同时设置,属性表左边有一个ALL CONFIG的选项,先将它选中再设。
五、MFC中使用dtil.h和dtil.cpp。这两个文件是初学常用的,因为里面有加载BMP文件的函数。(其实我现在还在用,比如里面的DDSETCOLORKEY函数),但在MFC中直接用它们不容易一次成功,我说说自己的方法:
(1)先将这两个文件复制到你的工程文件夹中;
(2)在需要使用里面函数的CPP文件的头部加上#include "dtil.h";
(2)在dtil.cpp文件头部加上#include "stdafx.h";
----------------------------------------------
不过,你现在的做法是要买动态连接库的文件?我感觉你不太适合在这里买。
如果要使用这些功能的话,现在catch 3D、绘声绘影这些软件都已经实现了,在网上都可以下载的到的。
写在前面:可能是我们的教程写得太少,以至一直有会员和朋友要问些入门的问题,比如“为什么我的DIRECTX例程无法编译?”,“为什么dtil.cpp文件无法编译?”。为了方便入门者,也省下自己回答的时间,还是在这里作一说明。其实这些东西在Directx的文档里都有,只是很多人没有耐心或者没有时间去读E文的文档吧。
一、安装DXSDK。说些废话,因为可能有朋友SDK都没听说过。简言之SDK是提供给程序开发者的一些公有接口和文档。比如你开发DIRECTX程序,就需要DXSDK,它里面有完整的DIRECTX说明文档(如果你有决心读一遍,胜过你买任何DX教材),DIRECTX例子,INCLUDE文件,LIB库,这些都是你写DIRECTX程序时所必须的。
如何找DXSDK?VSTUDIO98里面附有DX5的SDK版本,如果一时找不到其他版本的话,就凑合用它吧。我建议使用的是DX7SDK,在《中国计算机报》1999年11月光盘有(其他什么地方有我不太清楚)大小约100多M吧。
用SDK的什么版本?现在DIRECTX7大概所有用户都有RUNTIME版本,而DIRECTX8版本刚出来,很多玩家机器里并没有。因此我个人建议程序员先不要使用DX8,否则你的程序别人可能无法运行。毕竟从DX7转移到DX8不会很难,到时候再转也不迟。如果将来玩家手里DX8普及了,你就应该使用DX8SDK,依此类推。
二、复制文件。指的是将SDK的文件复制到VC目录下(这里不考虑BCB等编译器)。
(1)将(DX5以上版本)SDK文件夹下/INCLUDE文件夹中的所有.H文件复制到VC文件夹的/INCLUDE文件夹中。覆盖原来(DX5版本)的文件
(2)将SDK文件夹下/LIB文件夹中所有.LIB文件复制到VC文件夹的/LIB文件夹中,覆盖原来的文件。LIB文件夹下有个BORLAND文件夹,里面的东西是给BCB用的,用VC的话不需要复制它们。
三、添加头文件。如果你没有#include <ddraw.h>这样的句子,编译的时候会对你引用的DX成员报一个未命名错误。这个似乎是常识,不多说了。
重点说一下如何找不太用到的类的头文件,比如DSOUND,DMUSIC,DPLAY用哪些头文件?我方法是这样,如果程序不认“LPDIRECTSOUND”这样的名字,用WINDOWS的查找文件功能,在VC的INCLUDE文件夹中查找所有包含这个词的文件,很快就知道该用哪个.h了。
四、编译时加入链接。仅以上几步是不够的,VC缺省的连接库不包括DX的LIB库,你在使用DDRAW,DSOUND等接口时,编译时会出现LINKER错误提示。要解决这个问题必须加入连接。
加入方法:VC的/PROJECT/SETING菜单,跳出一个属性表单,在里面选中LINK卡片,在LIB一栏中加入:DXGUID.LIB(所有DX程序必须),DDRAW.LIB(DDRAW编译必须),DSOUND.LIB(DSOUND编译必须)。这些LIB名以空格隔开。
注意:DMUSIC和D3D等请自己去试,如果一直不成功,你将所有DX的LIB都填进去试一试,再逐个减,最后能得到需要的最少库文件。另外,应该将DEBUG和RELEASE同时设置,属性表左边有一个ALL CONFIG的选项,先将它选中再设。
五、MFC中使用dtil.h和dtil.cpp。这两个文件是初学常用的,因为里面有加载BMP文件的函数。(其实我现在还在用,比如里面的DDSETCOLORKEY函数),但在MFC中直接用它们不容易一次成功,我说说自己的方法:
(1)先将这两个文件复制到你的工程文件夹中;
(2)在需要使用里面函数的CPP文件的头部加上#include "dtil.h";
(2)在dtil.cpp文件头部加上#include "stdafx.h";
热心网友
时间:2022-06-22 02:50
厉害!!!
长见识了!!!
热心网友
时间:2022-06-22 02:51
DIRECTX编程准备工作
作者:无心柳
写在前面:可能是我们的教程写得太少,以至一直有会员和朋友要问些入门的问题,比如“为什么我的DIRECTX例程无法编译?”,“为什么dtil.cpp文件无法编译?”。为了方便入门者,也省下自己回答的时间,还是在这里作一说明。其实这些东西在Directx的文档里都有,只是很多人没有耐心或者没有时间去读E文的文档吧。
一、安装DXSDK。说些废话,因为可能有朋友SDK都没听说过。简言之SDK是提供给程序开发者的一些公有接口和文档。比如你开发DIRECTX程序,就需要DXSDK,它里面有完整的DIRECTX说明文档(如果你有决心读一遍,胜过你买任何DX教材),DIRECTX例子,INCLUDE文件,LIB库,这些都是你写DIRECTX程序时所必须的。
如何找DXSDK?VSTUDIO98里面附有DX5的SDK版本,如果一时找不到其他版本的话,就凑合用它吧。我建议使用的是DX7SDK,在《中国计算机报》1999年11月光盘有(其他什么地方有我不太清楚)大小约100多M吧。
用SDK的什么版本?现在DIRECTX7大概所有用户都有RUNTIME版本,而DIRECTX8版本刚出来,很多玩家机器里并没有。因此我个人建议程序员先不要使用DX8,否则你的程序别人可能无法运行。毕竟从DX7转移到DX8不会很难,到时候再转也不迟。如果将来玩家手里DX8普及了,你就应该使用DX8SDK,依此类推。
二、复制文件。指的是将SDK的文件复制到VC目录下(这里不考虑BCB等编译器)。
(1)将(DX5以上版本)SDK文件夹下/INCLUDE文件夹中的所有.H文件复制到VC文件夹的/INCLUDE文件夹中。覆盖原来(DX5版本)的文件
(2)将SDK文件夹下/LIB文件夹中所有.LIB文件复制到VC文件夹的/LIB文件夹中,覆盖原来的文件。LIB文件夹下有个BORLAND文件夹,里面的东西是给BCB用的,用VC的话不需要复制它们。
三、添加头文件。如果你没有#include <ddraw.h>这样的句子,编译的时候会对你引用的DX成员报一个未命名错误。这个似乎是常识,不多说了。
重点说一下如何找不太用到的类的头文件,比如DSOUND,DMUSIC,DPLAY用哪些头文件?我方法是这样,如果程序不认“LPDIRECTSOUND”这样的名字,用WINDOWS的查找文件功能,在VC的INCLUDE文件夹中查找所有包含这个词的文件,很快就知道该用哪个.h了。
四、编译时加入链接。仅以上几步是不够的,VC缺省的连接库不包括DX的LIB库,你在使用DDRAW,DSOUND等接口时,编译时会出现LINKER错误提示。要解决这个问题必须加入连接。
加入方法:VC的/PROJECT/SETING菜单,跳出一个属性表单,在里面选中LINK卡片,在LIB一栏中加入:DXGUID.LIB(所有DX程序必须),DDRAW.LIB(DDRAW编译必须),DSOUND.LIB(DSOUND编译必须)。这些LIB名以空格隔开。
注意:DMUSIC和D3D等请自己去试,如果一直不成功,你将所有DX的LIB都填进去试一试,再逐个减,最后能得到需要的最少库文件。另外,应该将DEBUG和RELEASE同时设置,属性表左边有一个ALL CONFIG的选项,先将它选中再设。
五、MFC中使用dtil.h和dtil.cpp。这两个文件是初学常用的,因为里面有加载BMP文件的函数。(其实我现在还在用,比如里面的DDSETCOLORKEY函数),但在MFC中直接用它们不容易一次成功,我说说自己的方法:
(1)先将这两个文件复制到你的工程文件夹中;
(2)在需要使用里面函数的CPP文件的头部加上#include "dtil.h";
(2)在dtil.cpp文件头部加上#include "stdafx.h";
热心网友
时间:2022-06-22 02:51
<DIRECTX编程准备工作>
作者:yang01p
写在前面:可能是我们的教程写得太少,以至一直有会员和朋友要问些入门的问题,比如“为什么我的DIRECTX例程无法编译?”,“为什么dtil.cpp文件无法编译?”。为了方便入门者,也省下自己回答的时间,还是在这里作一说明。其实这些东西在Directx的文档里都有,只是很多人没有耐心或者没有时间去读E文的文档吧。
一、安装DXSDK。说些废话,因为可能有朋友SDK都没听说过。简言之SDK是提供给程序开发者的一些公有接口和文档。比如你开发DIRECTX程序,就需要DXSDK,它里面有完整的DIRECTX说明文档(如果你有决心读一遍,胜过你买任何DX教材),DIRECTX例子,INCLUDE文件,LIB库,这些都是你写DIRECTX程序时所必须的。
如何找DXSDK?VSTUDIO98里面附有DX5的SDK版本,如果一时找不到其他版本的话,就凑合用它吧。我建议使用的是DX7SDK,在《中国计算机报》1999年11月光盘有(其他什么地方有我不太清楚)大小约100多M吧。
用SDK的什么版本?现在DIRECTX7大概所有用户都有RUNTIME版本,而DIRECTX8版本刚出来,很多玩家机器里并没有。因此我个人建议程序员先不要使用DX8,否则你的程序别人可能无法运行。毕竟从DX7转移到DX8不会很难,到时候再转也不迟。如果将来玩家手里DX8普及了,你就应该使用DX8SDK,依此类推。
二、复制文件。指的是将SDK的文件复制到VC目录下(这里不考虑BCB等编译器)。
(1)将(DX5以上版本)SDK文件夹下/INCLUDE文件夹中的所有.H文件复制到VC文件夹的/INCLUDE文件夹中。覆盖原来(DX5版本)的文件
(2)将SDK文件夹下/LIB文件夹中所有.LIB文件复制到VC文件夹的/LIB文件夹中,覆盖原来的文件。LIB文件夹下有个BORLAND文件夹,里面的东西是给BCB用的,用VC的话不需要复制它们。
三、添加头文件。如果你没有#include <ddraw.h>这样的句子,编译的时候会对你引用的DX成员报一个未命名错误。这个似乎是常识,不多说了。
重点说一下如何找不太用到的类的头文件,比如DSOUND,DMUSIC,DPLAY用哪些头文件?我方法是这样,如果程序不认“LPDIRECTSOUND”这样的名字,用WINDOWS的查找文件功能,在VC的INCLUDE文件夹中查找所有包含这个词的文件,很快就知道该用哪个.h了。
四、编译时加入链接。仅以上几步是不够的,VC缺省的连接库不包括DX的LIB库,你在使用DDRAW,DSOUND等接口时,编译时会出现LINKER错误提示。要解决这个问题必须加入连接。
加入方法:VC的/PROJECT/SETING菜单,跳出一个属性表单,在里面选中LINK卡片,在LIB一栏中加入:DXGUID.LIB(所有DX程序必须),DDRAW.LIB(DDRAW编译必须),DSOUND.LIB(DSOUND编译必须)。这些LIB名以空格隔开。
注意:DMUSIC和D3D等请自己去试,如果一直不成功,你将所有DX的LIB都填进去试一试,再逐个减,最后能得到需要的最少库文件。另外,应该将DEBUG和RELEASE同时设置,属性表左边有一个ALL CONFIG的选项,先将它选中再设。
五、MFC中使用dtil.h和dtil.cpp。这两个文件是初学常用的,因为里面有加载BMP文件的函数。(其实我现在还在用,比如里面的DDSETCOLORKEY函数),但在MFC中直接用它们不容易一次成功,我说说自己的方法:
(1)先将这两个文件复制到你的工程文件夹中;
(2)在需要使用里面函数的CPP文件的头部加上#include "dtil.h";
(2)在dtil.cpp文件头部加上#include "stdafx.h";
----------------------------------------------
不过,你现在的做法是要买动态连接库的文件?我感觉你不太适合在这里买。
如果要使用这些功能的话,现在catch 3D、绘声绘影这些软件都已经实现了,在网上都可以下载的到的。
热心网友
时间:2022-06-22 02:52
你现在的做法是要买动态连接库的文件?我感觉你不太适合在这里买。
如果要使用这些功能的话,现在catch 3D、绘声绘影这些软件都已经实现了,在网上都可以下载的到的。