2010-04-13 6 views
7

Я посмотрел на предыдущий пост, основанный на этом, но они не связаны. Я получаю следующую ошибку.Неустранимая ошибка C1083: Невозможно открыть файл include

1>c:\users\numerical25\desktop\intro todirectx\introtodirectx\chapter 4\init direct3d\init direct3d.cpp(9) : fatal error C1083: Cannot open include file: 'd3dApp.h': No such file or directory 

Но ясно, что от изображения показано ниже, его там

alt text

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

ответ

14

То, что вы видите на левой панели IDE, абсолютно не имеет никакого отношения к тому, есть ли файл там или нет. «Solution Explorer» не исследует фактические файлы, присутствующие в файловой системе, он просто показывает вам, какие файлы зарегистрировали как часть этого решения.

Для того, чтобы код был скомпилирован, файл должен присутствовать в файловой системе вашего компьютера в одном из путей, указанных в качестве путей поиска для файлов заголовков этого решения. Его нет, следовательно, ошибка.

+0

хорошо, что вы сказали, делает много смысла, но я просто немного смущен тем, что делать дальше. Должен ли я создать папку Headers и поместить в нее файл заголовка физически. Затем добавьте его в включенные каталоги ?? Я всегда думал, что все файлы в проводнике решений - это физические файлы, встроенные в проект. – numerical25

+0

Хорошо, я добавил заголовки в корневую папку, где находятся мои .sln-файлы, и теперь их можно найти. – numerical25

0

Решение и просмотр файлов иногда не имеют отношения; каждый файл, который вы добавляете в представление решения, представляет собой запись в XML-файле. Директива #include обычно просматривает местоположение физического диска, просматривая пути включения.

Мое предложение состоит в том, чтобы добавить путь direct3d.h include к настройкам проекта. Это рекомендуемый способ, поскольку он упрощает обновление до новых версий SDK безболезненно (и это хорошая практика для любых внешних библиотек).

+0

ОК, но у меня проблемы с d3dApp.h. который является настраиваемым заголовком, который я помещаю в папку заголовков. Они VS автоматически создали эту папку заголовка для меня. так почему же ему сложно найти файлы заголовков, которые я в него вставлял. – numerical25

5

Убедитесь, что каталог, в который входит заголовок, включен в настройки проекта (C/C++ → Общие сведения → Дополнительные каталоги включения).

+0

заголовок находится в папке «Заголовок» в проводнике решений. Нет папки заголовка, расположенной где-нибудь рядом с .sln-файлом на физическом диске. Когда я перехожу к дополнительным, он позволяет мне искать папки на физическом диске. Папка Header на картинке выше доступна только в .sln – numerical25

+0

Работал для меня! Благодарю. –

Смежные вопросы