В настоящее время я занимаюсь программированием DirectX и просто устанавливаю DX-SDK. Тем не менее, когда я открываю самый простой образец файла (Tutorial01, просто отображает синий фон) в Visual Studio (2012, но это кажется несущественным) и скомпилировать его, я получаю рабочий вывод.
Когда я запускаю пустой проект c++, создайте новый файл main.cpp и скопируйте и вставьте код из учебника, сделайте то же самое с файлом resource.h, а также перейдите в Project settings-> Configuration Properties- > Linker и скопируйте "Input" из образца в мой собственный проект, а затем скомпилируйте мой проект. Я получаю следующий вывод ошибки:
fatal error C1083: Cannot open include file: 'd3dx11.h': No such file or directory
Заголовок включен в #include
как для образца, так и для моего проекта. Однако мой проект не будет компилироваться.
В вашем новом проекте отсутствуют VC++ Настройки каталогов, чтобы найти DirectX SDK include/lib paths. Начиная с VS 2010, вы должны явно настроить пути include/lib, чтобы получить DirectX SDK, интегрированный с Visual Studio.
Поскольку вы пытаетесь использовать VS 2012 с унаследованным DirectX SDK, вам следует знать, что настройки VC++ Directories для VS 2010 обращены от того, что вы должны использовать с VS 2012/VS2013. Это связано с тем, что SDK Windows 8.x включает более новые версии большинства заголовков DirectX в устаревшем и устаревшем устаревшем DirectX SDK.
Дальнейшее усложнение заключается в том, что D3DX отсутствует в SDK Windows 8.x и сам устарел. Вы можете заставить его работать в соответствии с инструкциями на MSDN, но имейте в виду, что теперь есть альтернативы использованию D3DX для Direct3D 11, которые вы должны рассмотреть.