致命错误:SDL/SDL.h:没有此文件或目录

致命错误:SDL/SDL.h:没有此文件或目录

我正在尝试练习 lesson_1 https://tutorialsplay.com/opengl/2014/04/23/textured-cube/

当我运行名为 cube.c 的代码时,我得到了

cube.c:16:21: fatal error: SDL/SDL.h: No such file or directory
 #include <SDL/SDL.h>
                     ^

compilation terminated.

我已经按照以下指导安装了 SDL2 https://github.com/PluginIO/EX3/wiki/Setting-up-SDL2-in-Ubuntu-12.10

我虽然用的是 14.04..

SDL2 安装成功,我没有收到任何错误。

SDL.h 文件位于“/usr/local/include/SDL2”

我尝试强制使用命令进行全路径链接

gcc cube.c -lglut -lGL -lGLU -l/usr/local/include/SDL2

代替

gcc cube.c -lglut -lGL -lGLU -lSDL

但一切都是徒劳的……

有人知道这个链接问题的解决方案吗?

正如 muru 指出的那样,我将其改为大写,得到了“错误:未知类型名称‘SDL_keysym’”,意思是有效。

我发现的另一种方法是

我变了

#include <SDL/SDL.h> 

#include <SDL2/SDL.h>

不再显示“致命错误:SDL/SDL.h:没有这样的文件或目录”因此现在认为问题已经解决。但是我遇到了以下错误,将在单独的线程中发布。

cube.c:105:22: error: unknown type name ‘SDL_keysym’
 void handleKeyPress( SDL_keysym *keysym )
                      ^
cube.c: In function ‘main’:
cube.c:239:5: error: unknown type name ‘SDL_VideoInfo’
     const SDL_VideoInfo *videoInfo;
     ^

AB:我下面粘贴了您建议的命令的输出。

gcc cube.c `pkg-config --cflags --libs sdl`
Package sdl was not found in the pkg-config search path.
Perhaps you should add the directory containing `sdl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'sdl' found



gcc cube.c `pkg-config --cflags --libs sdl2`
cube.c:105:22: error: unknown type name ‘SDL_keysym’
 void handleKeyPress( SDL_keysym *keysym )
                      ^
cube.c: In function ‘main’:
cube.c:239:5: error: unknown type name ‘SDL_VideoInfo’
     const SDL_VideoInfo *videoInfo;
     ^
errors continue....

答案1

可能您已经安装了这些库,我再次展示了这些步骤,以确保完整性。

  • 标准化数据表

    sudo apt-get install libsdl2-dev
    
  • 安全数据表1

    sudo apt-get install libsdl1.2-dev
    

使用以下命令开始编译:

  • 标准化数据表

    gcc cube.c `pkg-config --cflags --libs sdl2`
    
  • 安全数据表1

    gcc cube.c `pkg-config --cflags --libs sdl`
    

示例输出:

% pkg-config --cflags --libs sdl               
-D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL -lSDL

% pkg-config --cflags --libs sdl2
-D_REENTRANT -I/usr/include/SDL2 -lSDL2

相关内容