С++ Visual Studios: невозможно открыть файл include... а?

Извините за публикацию такого низкопробного вопроса, но я все еще не знаю свой путь вокруг Visual Studios. Я пытаюсь скомпилировать код в С++ Visual Studios:

#include "Banana.h"

int main(int argc, char* argv[])
{
    fruit::Banana banana;
    banana.dance();
    return 0;
}

и я получаю сообщение об ошибке

Неустранимая ошибка C1083: не удается открыть включить файл: "Banana.h": нет таких файл или каталог

Но в обозревателе решений в рамках проекта, с которым я работаю, есть папка источника с надписью "Плоды/Заголовочные файлы", и в этой папке находится "Banana.h". Я думал, что все в исходных папках внутри одного и того же проекта было автоматически на исходном пути. Что дает?

Ответы

Ответ 1

Вам нужно будет настроить дополнительные включенные пути. Если вы перейдете к свойствам проекта, вы найдете его под Configuration Properties, C/C++ вверху.

Ответ 2

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

Ответ 3

Щелкните правой кнопкой мыши заголовок вкладки файла исходного кода и выберите open file location. Затем начните и попробуйте найти файл Banana.h и переместите его либо в тот же каталог (и снова добавьте его в решение), либо измените строку #include соответственно. Вы также можете добавить каталог, в котором Banana.h находится в списке включенных путей (project settings -> c++ -> include directories).

Ответ 4

Это очень запутанно, потому что Solution Manager использует виртуальные пути к файлам, тогда как #include использует реальные пути к файлам. Таким образом, вы можете создавать фильтры в SM и не менять диски и добавлять файлы, которые вы не можете включить, и т.д.