Миграция Visual Studio 2013: не удается открыть включаемый файл: «dxerr8.h»: нет такого файла или каталога

Я написал приложение VC++ в Visual Studio 2003, которое использует библиотеку DirectX, используя «dxerr8.h» в своем приложении для обеспечения трассировки сообщений DirectX.

Я могу найти файл по следующему пути

"C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\dxerr8.h"

Теперь я переношу свое приложение в Visaul Studio 2013, что выдает ошибку компиляции.

Не удается открыть включаемый файл: 'dxerr8.h': нет такого файла или каталога

Я искал файл в установленной папке Visual Studio 2013, который отсутствует.

"C:\Program Files\Microsoft Visual Studio 12.0\VC"

  1. Где находится папка PlatformSDK?
  2. Нужно ли устанавливать DirectX SDK, чтобы избавиться от этой ошибки?

Как решить эту проблему?


person Coder Coder    schedule 25.05.2015    source источник
comment
DirectX развивается очень быстро, версии, на которую вы ориентируетесь, уже 15 лет. Это 3 собачьи жизни назад, SDK больше не распространяется, пора обновить.   -  person Hans Passant    schedule 25.05.2015


Ответы (2)


Текущий SDK имеет функцию DXGetErrorString. Удаление «8» из всех имен в вашем коде должно решить вашу проблему.

person Abhishek    schedule 25.05.2015
comment
Я использую DXTRACE_ERR(TEXT(DirectSoundCreate8), hr); Отследить сообщения. Также я попытался удалить 8 из файла заголовка. что не решает проблему. - person Coder Coder; 25.05.2015
comment
Я думаю, у вас нет DirectX SDK. Можешь это проверить? Вы можете проверить msdn.microsoft .com/en-us/library/windows/desktop/ для получения информации о том, как проверить, требуется ли вам SDK или нет. - person Abhishek; 25.05.2015
comment
Я надеюсь, что это часть Windows SDK, поэтому нет необходимости устанавливать DirectX SDK отдельно. - person Coder Coder; 25.05.2015

В последний раз DXERR8 поставлялся в DirectX SDK (август 2007 г.). DXERR заменяет все виды использования этой старой библиотеки в любом случае.

См. Где находится DXERR.LIB?. замена DXERR, которая позволяет избежать использования устаревшего DirectX SDK.

person Chuck Walbourn    schedule 09.08.2017