Подтвердить что ты не робот

Неустранимая ошибка C1083: Не удается открыть файл include: 'xyz.h': Нет такого файла или каталога?

Я использую visual studio 2005 для создания проекта. И у меня есть структура папок в проекте как: папка с кодом. эта папка содержит все файлы *.cxx.

Теперь я создал класс xyz в файле заголовка xyz.h. И определил каждую вещь в xyz.cxx, которая помещается в папку кода. Но теперь, когда я пытаюсь скомпилировать его с визуальной студией, это вызывает у меня ошибку "Неустранимая ошибка C1083: Не удается открыть файл include:" xyz.h ": нет такого файла или каталога". как исправить эту проблему.

4b9b3361

Ответ 1

Либо переместите файл xyz.h в другое место, чтобы препроцессор мог его найти, либо изменил оператор #include, чтобы препроцессор нашел его там, где он уже есть.

Где препроцессор ищет включенные файлы, описывается здесь. Одно из решений заключается в том, чтобы поместить файл xyz.h в папку, где препроцессор собирается найти его, следуя этому шаблону поиска.

В качестве альтернативы вы можете изменить оператор #include, чтобы препроцессор мог его найти. Вы сообщите нам, что файл xyz.cxx находится в папке "code", но вы не сообщите нам, где вы поместили файл xyz.h. Скажем, ваша файловая структура выглядит так:

<some folder>\xyz.h
<some folder>\code\xyz.cxx

В этом случае оператор #include в xyz.cxx должен выглядеть примерно так.

#include "..\xyz.h"

С другой стороны, скажем, ваша файловая структура выглядит так:

<some folder>\include\xyz.h
<some folder>\code\xyz.cxx

В этом случае оператор #include в xyz.cxx должен выглядеть примерно так.

#include "..\include\xyz.h"

Обновление: С другой стороны, поскольку @In silico указывает на комментарии, если вы используете #include <xyz.h>, вы должны, вероятно, изменить его на #include "xyz.h"

Ответ 2

Добавьте папку "code" в свойства проекта в Visual Studio

Project- > Properties- > Свойства конфигурации- > C/С++ → Дополнительные каталоги с добавлением

Ответ 3

Я столкнулся с этой ошибкой в ​​другой ситуации, разместив разрешение для тех, кто прибыл через поиск: из Visual Studio я скопировал файл из одного проекта и вставил его в другой. Оказывается, что создает символическую ссылку, а не фактическую копию. Таким образом, проект не нашел файл в текущем рабочем каталоге, как ожидалось. Когда я сделал физическую копию вместо этого, в проводнике Windows неожиданно #include "myfile.h" работал.

Ответ 4

Мне помог следующий подход.

Шаги:

1. Перейдите в соответствующий каталог, где отсутствует файл заголовка, который отсутствует. (В моем случае отсутствует /include/unicode/coll.h) и скопируйте папку, в которой находится файл заголовка. (Скопируйте до каталога include.)

2.Нажмите на свой проект в Обозревателе решений- > Свойства- > Свойства конфигурации- > Каталоги VС++- > Включить каталоги.  Вставьте скопированный путь здесь.

3.Это решило мою проблему. Надеюсь, это поможет!