Невозможно получить предварительно обработанный исходный файл или объектный файл, если я включаю заголовок из другого каталога

Моя папка / структура файла:

testing
    folder
        head.h
    main.c

main.c
#include "head.h"
int main(){
foo(3);
return 1;
}

head.h
void foo(int x){
x = 5;
}

в CMD я иду в папку "тестирование" и введите:

gcc -c -lfolder main.c -o main.o

но это вызывает у меня ошибку:

main.c: 1: 18: фатальная ошибка: head.h: такого файла или каталога нет
#include "head.h"

Насколько я понимаю, флаг -ldir_name указывает, что компилятор должен искать внутри этой папки любые файлы #include. Можете ли вы помочь мне понять, что я делаю неправильно. Я также попытался получить вывод препроцессора:

gcc -E -lfolder main.c -o main.i

опять же, это должно найти head.h в "папке", вставьте его содержимое в main.c

0 ответов

Другие вопросы по тегам