2016-04-26 41 views
0

到目前爲止我已經成功地從不推薦的D3DX庫改爲新的,但使用函數D3DX11CompileFromFile,我應該使用新的D3DCompileFromFile。 MSDN說頭文件是D3DCompiler.h,lib文件是D3DCompiler.lib。 \程序文件(x86)\微軟的DirectX SDK(2010年6月)\ LIB \ x64的從D3DX轉換,D3DCompile沒有找到

C中的其他:\ Program Files文件(x86的智能感知從

Ç拿起兩個,一個)\的Windows套件\ 8.1 \ LIB \ winv6.3 \恩\ x64的

enter image description here

如果有人知道爲什麼發生這種情況我會很感激的幫助。我也嘗試切換其中的一些命令。謝謝。

+1

您可能需要更改您的項目包含/庫路徑,並刪除對2010年6月DXSDK的引用。 2010年6月的頭文件不包含D3DCompileFromFile,只包含D3DCompile。 – MuertoExcobito

+0

Bingo,刪除所有對2010年6月SDK的引用,現在我只需改變一切。因此,6月SDK中的一切都被棄用了,我應該使用Windows Kit文件夾中的includes和庫? – Zebrafish

回答

1

理想情況下,您完全刪除DirectX SDK(2010年6月)路徑,只使用Windows 8.1 SDK中的D3DCompile標頭。

如果您必須使用舊版DirectX SDK(2010年6月),則需要在Windows 8.1 SDK之後包含& lib路徑。這主要是有效的,但是對於低級別的XAudio 2.7來說存在複雜性。所有細節請參見The Zombie DirectX SDK

舊版DirectX SDK副本d3dcompiler.h沒有爲Windows 8.x SDK版本添加的FromFile版本。在Windows 8.1或Windows 10上,D3DCompiler_47.DLL是操作系統的一部分,但如果您想在Windows 7上運行,則需要將DLL部署到您的應用程序中,您可以從$(WindowsSdkDir)redist\d3d\<arch>\D3DCompile*.DLL中複製該應用程序。見HLSL, FXC, and D3DCompile

相關問題