2014-10-10 88 views
0

我想在Visual C++ 2010中开始学习DirectX,但它说当我包含d3dx9.h时,无法找到d3dx11和d3dx9,我可以在DirectX 11中玩游戏,dxdiag说我的电脑运行directX 11,但是当我在C驱动器和我的D驱动器中搜索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夏季库和包含文件夹visual C++,但这是一个旧版本,所以它不包含d3dx9.lib。我正在运行Windows 8.1 64位操作系统。directx 9无法找到包含库

回答

3

DirectX SDK和所有版本的D3DX库都被弃用。

“现代”解决方案是使用Visual Studio 2012和Visual Studio 2013附带的Windows 8.x SDK。您可以安装Windows 8.1 SDK“独立”,并通过使用.props文件将其与Visual Studio 2010结合使用。所有细节请参见MSDNthis blog

可以混合使用与传统的DirectX SDK,以便在Windows 8.x的SDK继续使用D3DX为Win32桌面应用程序 - 你不能使用DirectX SDK的Windows Store应用程序的Windows Phone或Xbox一。有关如何处理include/lib路径目录,请参见MSDN上的说明。如果你要继续使用旧版的DirectX SDK,你需要知道的一些事情:

  • 时,DirectX SDK(2010年6月),安装有与具有VS 2010 SP1 REDIST系统的一些兼容性问题安装。见this的帖子。
  • DirectX SDK(2010年6月)没有针对Windows 8.1的最新开发人员调试运行时。您必须安装Windows 8.1 SDK,VS 2013或VS 2013远程调试工具以获取DEBUG图层和REFERENCE设备。请参阅this
  • 还有no支持Windows 8.1上的Direct3D 9 DEBUG设备。
  • 在安装了DirectX 11.1 Runtime的Windows 8.1,Windows 8.0或Windows 7 SP1上,DirectX SDK中的“PIX for Windows”工具不适用于Direct3D 10.x或Direct3D 11.x。使用Visual Studio 2013图形诊断程序或Intel/AMD/NVIDIA的GPU工具。
  • 如果您正在部署需要D3DX等传统DLL的游戏,请务必使用2011年4月刷新的DXSETUP版本,而不是DirectX SDK(2010年6月)中的副本。看到this后,请务必阅读Not So DirectSetup

鉴于这一切,你的生活会方便很多,如果你只是使用Direct3D 11,避免传统的DirectX SDK和D3DX完全。你可以找到许多D3DX的Direct3D 11替代品,它只需要Windows 8.x SDK以及一堆更新的样品。见Living Without D3DX,DirectX Tool KitDirectX SDK Samples Catalog。您可以获得与VS 2010一起工作的所有内容,但获取用于Windows桌面的Visual Studio 2013 Express(用于Win32桌面应用程序)和/或Visual Studio 2013 Express for Windows(用于Windows应用商店应用程序和Windows手机应用程序) 。PS:甚至在DirectX SDK仍然是支持获取VS 2010 Direct3D头部的支持方式时,直到您手动将include/path目录添加到项目中才能使用该方法。这就是为什么你不能在你刚创建的项目中包含“d3dx9.h”。

+0

要尝试使用VS 2012,谢谢:) – user3742860 2014-10-10 22:14:00