Visual Studio не может «видеть» мои включенные заголовочные файлы

Я создал пустой проект «Демо» в Visual Studio 2008 и добавил несколько существующих проектов в свое решение. Включен «MyHeader.h» (заголовок другого проекта) в файл main.cpp, который находится в «Demo». Также добавлен путь к заголовочным файлам в разделе «Инструменты / Опции / Каталоги VC ++ / Включаемые файлы». Но intellisense говорит: «Файл« MyHeader.h »не найден ни в каталоге текущего исходного файла, ни в системных путях сборки …»

Как решить проблему? Благодарю.

31

Решение

Если вы выбираете Project а потом All Files в меню все файлы должны отображаться в обозревателе решений, которые физически находятся на карте вашего проекта, но не (еще) включены в ваш проект. Если вы щелкнете правой кнопкой мыши по файлу, который хотите добавить в обозревателе решений, вы можете включить его.

15

Другие решения

Удалите файл .sdf, который находится в каталоге вашего решения. Это просто база данных Intellisense, и Visual Studio создаст ее заново при следующем открытии этого решения. Эта база данных может быть повреждена и привести к тому, что среда IDE не сможет что-то найти, и, поскольку компилятор генерирует эту информацию для себя на лету, это не будет затронуто.

19

Если это так, что только IDE указывает, что не может найти включенные файлы, но компиляция прошла успешно, проблема заключается в том, что IntelliSense не полностью соответствует последним изменениям. Это может произойти именно при включении существующих проектов, исходя из моего собственного опыта.
Удаление файла .sdf (= база данных IntelliSense), созданного в каталоге решений, вынуждает Visual Studio его регенерировать, чтобы он снова обновлялся. Простое выполнение «чистого», вероятно, будет делать то же самое, но занимает больше времени, так как все будет сгенерировано снова.

2

Я знаю, что это более старый вопрос, но ни один из приведенных выше ответов не помог мне. В моем случае проблема заключалась в том, что у меня были абсолютные пути включения, но без букв дисков. Компиляция прошла хорошо, но Visual Studio не смог найти файл для включения, когда я щелкнул правой кнопкой мыши и попытался открыть его. Добавление букв дисков к моим путям включения исправило проблему.

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

2

Это случилось со мной только сейчас, после выключения и перезагрузки компьютера. В конце концов я понял, что архитектура была каким-то образом изменена на ARM с x64.

2

Если Visual Studio сообщает, что вы пропустили какой-то файл в текущей папке с исходными файлами, я использовал одно решение. Просто щелкните правой кнопкой мыши файл, который вы хотите добавить, и выберите Open Document, если он действительно не существует, то вы должны увидеть что-то вроде cannot find file in the source file path = "somewhere in your computer"затем вы можете сначала добавить исходный файл в этот путь и посмотреть, работает ли он.

1

Попробуйте добавить файл заголовка к файлам вашего проекта. (щелкните правой кнопкой мыши на проекте -> добавить существующий файл).

0

По моему опыту, с VS2010, когда включаемые файлы не могут быть найдены во время компиляции, выполняется чистка, тогда сборка обычно решает проблему. Редактор нередко может открыть включаемый файл, а затем компилятор объявить, что он не может найти тот самый файл, даже если он открыт на экране!

0
По вопросам рекламы [email protected]