2014-10-10 76 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