我想在Visual C ++ 2010中开始学习DirectX,但是当我包含d3dx9.h时,它说d3dx11和d3dx9无法找到,我可以在DirectX 11中玩游戏而dxdiag说我的电脑正在运行directX 11 ,但是当我在C盘和我的D-Drive中搜索DirectX 11时,它找不到任何东西。所以我决定安装DirectX 11然后在安装后得到一个文件夹,但它没有任何包含或bin文件夹,所以我无法转到属性和VC ++并添加包含目录。决定尝试使用DirectX 9开始,但是当我安装DirectX 9 2010年6月版本时,我去了C \ Microsoft DirectX SDK(2010年6月)没有目录,只有DirectX实用程序和c ++文档以及示例浏览器和命令提示符。所以我不知道该怎么做了,我已经尝试安装d3dx9.lib并输入VS 2010的默认lib文件夹。但没有成功,但我有DirectX 9 2004夏季库和Include文件夹集视觉c ++,但这是一个旧版本,所以它不包括d3dx9.lib。我正在运行Windows 8.1 64位操作系统。
答案 0 :(得分:3)
不推荐使用DirectX SDK和所有版本的D3DX库。
“现代”解决方案是使用Visual Studio 2012和Visual Studio 2013附带的Windows 8.x SDK。您可以安装Windows 8.1 SDK“独立”并使用{{3将其与Visual Studio 2010一起使用文件。有关所有详细信息,请参阅.props和MSDN帖子。
您可以使用Windows 8.x SDK与旧版DirectX SDK混合以继续使用D3DX for Win32桌面应用程序 - 您无法使用DirectX SDK for Windows Store应用程序,Windows手机,或Xbox One。有关如何处理include / lib路径目录的信息,请参阅this blog上的说明。如果您要继续使用旧版DirectX SDK,您需要注意以下几点:
考虑到所有这些,如果您只使用Direct3D 11并完全避免使用传统的DirectX SDK和D3DX,那么您的生活将会轻松得多。您可以找到许多D3DX的Direct3D 11替换版,只需要Windows 8.x SDK以及一堆更新的示例。请参阅Not So DirectSetup,Living Without D3DX和DirectX Tool Kit。您可以使用VS 2010获得所有这些功能,但是获得适用于Windows桌面的Visual Studio 2013 Express(适用于Win32桌面应用程序)和/或适用于Windows的Visual Studio 2013 Express(适用于Windows应用商店应用和Windows手机应用)要容易得多
PS:即使回到DirectX SDK仍然是获得VS 2010的Direct3D标头的支持方式,在您手动将include / path目录添加到项目之前,它仍然无法使用。这就是为什么你不能在新创建的项目中加入“d3dx9.h”。