Программа не видит заголовочный файл

Всë лежит в одном репозитории, подключаю через #include файл, в ответ получаю нет такого файла или каталога. Подскажите, пожалуйста, почему такая ошибка может быть? В убунту в вс код создал заголовочный файл для проверки того как это работает, но его почему-то не видят.

#include "sum.h"

int main()
{

    plus(5,10,15);

    return 0;
}

Пишет нет такого файла или каталога. В файле sum.h как раз определена функция


Ответы (1 шт):

Автор решения: LolPopGames

Очень мало информации

Ну допустим, возможно ты записал путь в <>, если это так, то измени на ""

Либо, пересмотри путь, я однажды когда изучал вёрстку перепутал имя файла и вместо style.css написал style.ccs

Посмотри на дирекотрии, путь указывается от пути сишного файла до заголовочного

То есть если у тебя что-то типо такого:

inc
|----- file.h
src
|----- file.c

то в file.c будет ../inc/file.h

Если у тебя UNIX система, то проверь регистр путя, то есть ../Inc/file.h выдаст ошибку

Ну опять же, если UNIX, проверь что пути указываются через /, а не \

Больше сказать ничего не могу

Для подробностей скинь ссылку на репозиторий


UPD:

Тут у меня 4 варианта:

  1. Нету sum.c, определяющего функцию
  2. При комиляции ты его не добавил
  3. Неправильное количество параметров
  4. Вероятно, у тебя в заголовке есть строки:
#ifndef SUM_H_
#define SUM_H_

plus(int n1, int n2, int n3);

#endif

Обрати внимание на название макроса SUM_H_

Если у тебя не SUM_H_ или SUM_H, некоторые компиляторы могут ругаться из-за этого

Также, в моём "виртуальном" заголовке я забыл в прототипе написать тип, который он возвращает:

void plus(int n1, int n2, int n3);

С этим нужно быть внимательным


UPD2:

Попробуй добавить при компиляции флаг -I.

→ Ссылка