Не удается открыть файл с Visual Studio
Недавно я перешел из Code::Blocks в Visual Studio, а в Code:: Blocks можно просто добавить класс, а затем включить это сразу. Однако, когда я делаю то же самое в Visual Studio со следующим утверждением:
#include "includedFile.h"
или
#include "include/includedFile.h"
Это не работает, и вместо этого я получаю сообщение об ошибке:
не может открыть файл include: 'includedFile.h'; нет такого файла или каталога.
Есть ли какая-то коробка или настройка, которую я должен отметить? Или мне нужно добавить каждый заголовок как зависимость вручную?
Вот код для рассматриваемого класса:
Public.h:
#pragma once
class Public
{
public:
static const int SCREEN_WIDTH=1000;
static const int SCREEN_HEIGHT=1250;
Public(void);
~Public(void);
};
Public.cpp:
#include "Public.h"
Public::Public(void)
{
}
Public::~Public(void)
{
}
Как он включается:
#include "Public.h"
Ответы
Ответ 1
У меня была такая же проблема, например, от gcc до visual studio для программирования на C. Убедитесь, что ваш файл include находится в каталоге, а не только в дереве проектов VS. Для меня на других языках, копирование в папку в дереве проектов действительно переместило бы файл. С Visual Studio 2010 вставка в "Заголовочные файлы" не помещала там файл .h.
Пожалуйста, проверьте фактический каталог на наличие включенного файла. Недостаточно вложить его в папку "файлы заголовков" в проводнике проекта/решения.
Ответ 2
Вам нужно установить путь для препроцессора для поиска этих включенных файлов, если они не находятся в папке проекта.
Вы можете установить путь в VС++ Directories или в Дополнительное включение Справочники. Оба находятся в настройках проекта.
Ответ 3
По умолчанию Visual Studio ищет заголовки в папке, где находится ваш проект ($ ProjectDir), и в стандартных каталогах стандартных библиотек. Если вам нужно включить что-то, что не помещено в каталог проекта, вам нужно добавить путь к папке, чтобы включить:
Перейдите к своим свойствам проекта (Проект → Свойства → Свойства конфигурации → C/С++ → Общие), а в поле Additional Include Directories
добавьте путь к вашему .h файлу.
Вы также можете, как предложил Крис Олен, добавить путь к полю каталогов VС++.
Ответ 4
Перейдите к своим свойствам проекта (Project → Properties → Configuration Properties → C/С++ → General), а в поле Additional Include Directories добавьте путь к вашему .h файлу.
И убедитесь, что ваша конфигурация и платформа являются активными. Пример: Конфигурация: активная (отладка) Платформа: активная (Win32).
Ответ 5
Я нашел этот пост, потому что у меня была такая же ошибка в Microsoft Visual С++. (Хотя кажется, что причина была немного иной, чем предыдущий вопрос.)
Я поместил файл, который я пытался включить, в тот же каталог, но его все еще не удалось найти.
My include выглядит так: #include <ftdi.h>
Но когда я изменил его на это: #include "ftdi.h"
, он нашел его.
Ответ 6
См. также мой поздний ответ на этот похожий вопрос, если ваш сценарий связан с Макросом пользователя на странице свойств: 'Дополнительные каталоги include' в visual studio 2010 не работает
Ответ 7
Щелкните правой кнопкой мыши → Выберите Свойства → Общие → Проверьте "Windows SDK Versiyon"
Если вы установите 8.1 и 10.x, выберите 10.x.