g cc не печатает такой заголовочный файл при компиляции из папки верхнего уровня - PullRequest
0 голосов
/ 30 января 2020

У меня есть эта команда здесь:

gcc -MD -fno-builtin -nostdinc -fno-stack-protector -Os -g -m32 -I. -c -o boot1lib.o
boot1lib.c

Она работает нормально, если я запускаю ее в папке, где расположены boot1lib.o и boot1lib.c. Но когда я попытался запустить его из верхней папки, т.е. ./boot/boot1/boot1lib.c

, он отобразит: ./boot/boot1/boot1lib.c:1:10: fatal error: boot1lib.h: No such file or directory #include <boot1lib.h>

Как мне изменить параметры, чтобы устранить эту проблему? Я пытаюсь создать make-файл в папке root, чтобы мне не приходилось копировать и вставлять команду каждый раз, когда я пытался скомпилировать.

1 Ответ

1 голос
/ 30 января 2020

С G CC, #include <file> ищет файлы только в настроенных системных каталогах, в том числе добавленных с переключателями. #include "file" ищет в каталоге исходный файл, в котором он находится.

...