Ответ 1
Я нашел следующую довольно раздражающую цитату в этой странице MSDN.
D3DX не считается каноническим API для использования Direct3D в Windows 8 и, следовательно, не входит в соответствующий Windows SDK. Изучите альтернативные решения для работы с Direct3D API.
Для устаревших проектов, таких как Windows 7 (и более ранние версии) DirectX SDK образцов, для создания приложений с D3DX с использованием DirectX SDK:
Измените каталоги проектов VС++ следующим образом, чтобы использовать правильные порядок для заголовков и библиотек SDK.
я. Откройте "Свойства" для проекта и выберите "Каталоги VС++" стр.
II. Выберите "Все конфигурации" и "Все платформы".
III. Установите эти каталоги следующим образом:Исполняемые каталоги: (в раскрывающемся списке справа)
Включить каталоги: $(IncludePath); $(DXSDK_DIR) Включить
Включить библиотечные каталоги: $(LibraryPath); $(DXSDK_DIR) Lib\x86
IV. Нажмите "Применить".
v. Выберите платформу x64. VI. Задайте каталог библиотеки следующим образом:Библиотечные каталоги: $(LibraryPath); $(DXSDK_DIR) Lib\x64
Где бы ни были "d3dx9.h", "d3dx10.h" или "d3dx11.h", проекта, обязательно укажите "d3d9.h", "d3d10.h" и "dxgi.h", или "d3d11.h" и "dxgi.h", чтобы убедиться, что вы собираете более новая версия.
Вы можете отключить предупреждение C4005, если необходимо; однако это предупреждение указывает, что вы используете более старую версию этих заголовков.
Удалите все ссылки на DXGIType.h в своем проекте. Этот заголовок не существует в SDK Windows, а версия DirectX SDK конфликтует с новым winerror.h.
Все DLL-библиотеки D3DX устанавливаются на ваш компьютер разработки с помощью Установка DirectX SDK. Убедитесь, что необходимые зависимости D3DX перераспределяются с любым образцом или с вашим приложением, если оно перемещен на другую машину.
Имейте в виду, что технологии замены для текущего использования D3DX11 включают DirectXTex и DirectXTK. D3DXMath заменяется DirectXMath.
FFS Microsoft, пожалуйста, не изменяйте среднюю версию API, как это!!!