C 和 MinGW:如何修复我的 "No such file or directory" 错误?

C and MinGW: How do I fix my "No such file or directory" error?

我制作了一个 python“编译器”来帮助我用 gcc 编译我的 C 代码,例如它获取我所有的头文件和源文件。所以我的 cmd 命令是 gcc {headers} {source} -o {build_dir}/build.exe -lgdi32 -w,其中 {headers} 是一个类似于 -Ipath/to/headers/foo.h -Ipath/to/other/headers.foo2.h 的字符串,而 {source} 是相同的但带有 .c 文件。看起来编译器找到了头文件,但是在编译我的代码时却失败了。

(顺便说一句,我正在尝试在我的闪存驱动器上创建一个可移植的编程环境,因此 python 和 mingw 都是可移植的)

这是错误:fatal error: test.h: No such file or directory #include "test.h"

My project tree

我已经将第三方库文件放到了mingw目录下,而不是制作一个自定义的然后在gcc命令中链接它。

-I 选项获取包含头文件的目录的路径,或者更具体地说,使用参数 -Ipath 和指令 #include<a/b.h>,编译器将尝试查找path/a/b.h.

处的头文件

所以你不应该给它头文件的路径,只给你使用 include 指令的一个或多个目录。