【发布时间】:2020-01-30 00:23:26
【问题描述】:
我这里有这个命令:
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>
如何修改参数来解决这个问题?我正在尝试在根文件夹中构建一个 makefile,这样我就不必每次尝试编译时都复制和粘贴命令。
【问题讨论】:
-
参见gcc手册中
-I参数的解释,并相应地改变它。你了解-I参数的工作原理吗? -
@SamVarshavchik 我试过
-Iboot/boot1也没有用 -
Using
-Iboot/boot1对我使用 Clang 有效,它旨在与 GCC 兼容。如果其他人无法使用 GCC 重现此问题,我怀疑您使用-Iboot/boot1的尝试有问题