关于gcc:找不到<SDL.h>

Cannot find <SDL.h>

我目前正在阅读有关SDL2的LazyFoo教程,但是我一直无法使用此链接来设置SDL2
https://lazyfoo.net/tutorials/SDL/01_hello_SDL/windows/mingw/index.php。我使用的是C而不是C和MinGW 64位。

即使我使用包含SDL.h文件的-I标志包含目录,我的gcc编译器也找不到SDL.h头文件。我目前正在使用GitBash作为终端,并使用VS代码作为文本编辑器。

这是我的终端命令和输出的示例

1
2
3
4
5
/z/programming/c/lazy_foo_sdl/01_hello_SDL> gcc 01_hello_SDL.c -IC:\\mingw_dev_lib\\include\\SDL2 -LC:\\mingw_dev_lib\\lib -w -Wl,-subsystem,windows -lmingw32 -lSDL2main -lSDL2 -o 01_hello_SDL
01_hello_SDL.c:4:10: fatal error: SDL.h: No such file or directory
 #include <SDL.h>
          ^~~~~~~
compilation terminated.

我真的不知道可能是什么问题,如果我没有提供足够的细节,请提前道歉。


如果您正在使用bash,则必须遵循bash规则并转义反斜杠:

1
-IC:\\\\mingw_dev_lib\\\\include\\\\SDL2

或者根本不使用反斜杠,而使用Windows上的bash表示法:

1
-I/c/mingw_dev_lib/include/SDL2

为防止将来出现至少一个问题-请勿按照本教程的建议命名清理功能close。只是不要。