簡體   English   中英

DirectX11版本VS 2010 C ++

[英]DirectX11 release VS 2010 C++

我在VS C ++ 2010中編譯了代碼。如果使用調試版本,則一切正常! 如果要發布版本,請與我交流:

main.cpp(7):致命錯誤C1083:無法打開包含文件:'d3dx11.h':沒有此類文件或目錄

我使用DirectX11。該怎么辦?

MSDN上所述 ,不推薦使用所有版本的D3DX,包括D3DX9,D3DX10和D3DX11。 當然,您可以使用舊版DirectX SDK繼續使用不推薦使用的庫。 請記住,在VS 2010中,必須將include / lib路徑手動添加到項目的VC ++目錄屬性頁面,才能將DirectX SDK與它一起使用。

對於32位Win32配置:

$(DXSDK_DIR)Utilities\bin\x86;$(ExecutablePath)
$(DXSDK_DIR)Include;$(IncludePath)
$(DXSDK_DIR)Lib\x86;$(LibraryPath)

對於x64本機配置:

$(DXSDK_DIR)Utilities\bin\x64;$(DXSDK_DIR)Utilities\bin\x86;$(ExecutablePath)
$(DXSDK_DIR)Include;$(IncludePath)
$(DXSDK_DIR)Lib\x64;$(LibraryPath)

如果您能夠獲得#include <d3dx11.h>來運行DEBUG構建,但不能發布,則可能無法為所有配置/所有平台設置VC ++目錄。

相反,另一種選擇是遷移到VS 2012或VS 2013,其中包括集成了DirectX SDK的Windows 8.x SDK。 在那里,您將使用DirectX Tool KitDirectXTexDirectXMesh和/或其他D3DX的替代品

請注意,如果您要使用舊版DirectX SDK繼續使用D3DX11,並且還使用Windows 8.x SDK(例如VS 2012或VS 2013),則必須顛倒上述包含順序,因為舊版DirectX SDK頭早於Windows 8.x SDK中的頭。

$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x86
$(IncludePath);$(DXSDK_DIR)Include
$(LibraryPath);$(DXSDK_DIR)Lib\x86

對於x64本機配置:

$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x64;$(DXSDK_DIR)Utilities\bin\x86
$(IncludePath);$(DXSDK_DIR)Include
$(LibraryPath);$(DXSDK_DIR)Lib\x64

注意:您可以獲取Windows 8.1 SDK和DirectX工具包作為注意到VS 2010的工作在這里 ,但如果你能我會強烈建議使用VS 2013社區版 ,如果你沒有預算VS 2013專業版或更高。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM