2017-02-19 9 views
3

Я только что сделал проект в visual studio 2012 ultimate. В рамках этого проекта и его исходные файлы, я добавил main.cpp и попытался сделатьне может открыть исходный файл d3dx10.h

#include <d3dx10.h> 

Я получаю ошибку

cannot open source file d3dx10.h 

Я использую Windows 10 так не DirectX погруженный с Включать ?

ответ

1

Visual Studio 2012 включает в себя SDK Windows 8, который предоставляет заголовки и библиотеки DirectX, но не содержит устаревший код полезности помощника. Утилита D3DX (D3DX9, D3DX10 и D3DX11) устарела, как и предыдущий SDK DirectX. См. MSDN.

Лучшей рекомендацией является использование Direct3D 11 вместо Direct3D 10. Direct3D 11 полностью заменяет Direct3D 10 на всех поддерживаемых платформах, может работать с более широким спектром видеооборудования и имеет полный набор кода полезности с открытым исходным кодом замены.

Living without D3DX
Where is the DirectX SDK (2015 Edition)?
DirectX SDK Samples Catalog
DirectX SDK Tools Catalog
Direct3D Feature Levels

В том же духе, я бы рекомендовал использовать VS 2015, а не VS 2012, который поставляется с 8.1 SDK Windows. Там было много C++ 11 улучшений языка и исправления ошибок, так как VS 2012.

При необходимости, вы можете смешать наследие DirectX SDK с Windows 8 SDK, который поставляется с VS 2012 или более поздней версии, но вы необходимо отменить пути include/lib из традиционного порядка. Есть также несколько других причуд, с которыми вы можете работать.

Для x86/конфигурации Win32:

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

Для родных конфигураций 64:

$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x64;$(DXSDK_DIR)Utilities\bin\x86 
$(IncludePath);$(DXSDK_DIR)Include 
$(LibraryPath);$(DXSDK_DIR)Lib\x64 
Смежные вопросы