Не удается открыть включаемый файл "d3dx9.h" - PullRequest
19 голосов
/ 08 февраля 2011

Редактировать: Конечно, сразу после работы над ним в течение часа и публикации здесь я обнаружил глупую ошибку ...

Я получаю ошибки компилятора при попытке #include <d3dx9.h> в проекте. Я получаю «Неустранимая ошибка C1083: Не удается открыть файл включения:« d3dx9.h »: Нет такого файла или каталога».

  • У меня установлен DirectX SDK (я также попытался переустановить его безрезультатно).
  • В свойствах проекта:
    • Каталоги VC ++ установлены на "$(DXSDK_DIR)Include;$(IncludePath)" и "$(DXSDK_DIR)Lib\x86;$(LibraryPath)" для каталогов Include и Library соответственно для всех конфигураций - и переменная окружения %DXSDK_DIR% указывает на C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\, как и ожидалось.
    • C / C ++> В общих настройках $(DXSDK_DIR)include указан в дополнительных каталогах включения
    • Линкер> Ввод> Дополнительные зависимости включает d3dx9d.lib для отладки и d3dx9.lib для конфигурации выпуска.
  • Я * способен успешно компилировать и запускать учебные проекты из браузера образцов DirectX.
  • Intellisense / autocomplete в Visual Studio найдет d3dx9.h и предложит имена типов и функций, которые находятся внутри файла (и не включены ни в какие другие, которые я #include ing), так что кажется, что Intellisense может его найти.

Есть предложения о том, что я забыл или что еще попробовать?

Спасибо

Ответы [ 4 ]

13 голосов
/ 28 мая 2012

ты забыл одну вещь:

  1. Перейти к каталогам VC ++ -> Библиотечные каталоги
  2. добавить $(DXSDK_DIR)LIB\x86
  3. применить.

Готово. Надеюсь, это поможет

7 голосов
/ 08 февраля 2011

Вы должны убедиться, что у вас есть ВСЕ пути с кавычками ("). Вместо $(DXSDK_DIR)include вы должны иметь "$(DXSDK_DIR)include"

5 голосов
/ 08 февраля 2011

Я не осознавал, что одним из других проектов в решении было #include файл, который #include был файлом, который #include ing d3dx9.h, и я не добавил эти пути к этот проект.

/ Facepalm

0 голосов
/ 27 декабря 2016

Я попробовал все эти предложения, но ни одно из них не сработало.

Оказывается, переменная $ (DXSDK_DIR) не работает, если вы устанавливаете DirectX, пока Visual Studio все еще работает.Решением для меня было перезапустить Visual Studio (+, конечно, добавив пути в решения, перечисленные выше).

...