致命错误:sdl.h:没有这样的文件或目录

Posted

技术标签:

【中文标题】致命错误:sdl.h:没有这样的文件或目录【英文标题】:fatal error: sdl.h: No such file or directory 【发布时间】:2015-06-30 13:03:07 【问题描述】:

我在编译 CHIP-8 解释器时遇到了一些问题。 按 ctrl+f9 编译后,我看到一条消息“构建以错误结束。继续?”。

检查构建日志发现以下错误:C:/Workspace/****/****/main.c:4:17: fatal error: sdl.h: No such file or directory

我尝试将 SDL.h 复制到源目录中,但没有成功。

我尝试在源代码中创建一个名为“SDL”(src/SDL/SDL.h)的目录,但没有成功。

我还尝试在 src 旁边创建一个文件夹 (SDL/SDL.h)。那也没用。

之后我尝试了#include <.sdl.h>、#include <.sdl.h>、#include <.sdl.dll> 和#include <.sdl.dll>(忽略“

我还尝试复制 SDL 1.2.15 版和 SDL 2.0.3 版的文件。这也确实有效。

我在做一些根本错误的事情吗? 如何编译?

【问题讨论】:

感谢 Bastien Durel 的快速回复。 您是如何在系统中安装 SDL 的?是windows还是linux?哪个IDE? 我下载了SDL,不明白怎么安装。我正在运行 Windows 10,技术预览版,我使用的 IDE 是 CodeLite 我尝试将 -I/C:/Users/****/Desktop/SDL-1.2.15/include/SDL 添加到 switch 语句列表中,但它似乎没有工作。我使用的编译器是 MinGW ( TDM-GCC-32 ) 我在 include 语句中添加了路径,现在它不再抛出错误,指出找不到它。只是更多,不同的错误。我将尝试 SDL2,看看它是否能做同样的事情。 SDL2 抛出的错误更少,所以我开始用 NULL 替换一些代码,看看是否可以编译它。在输入我的第二个 NULL 后,codelite 继续锁定。我应该放弃并回到 FreeBasic 吗? 【参考方案1】:

你必须说你的编译器 sdl.h 所在的位置,-I/path/to/sdl 开启 gcc 或在 msvc 中填充 Include Path

(不要移动它,因为它(sdl.h)可能需要其他头文件)

【讨论】:

【参考方案2】:

以下是如何让 SDL1.2.5 与 codelite 一起工作的分步说明:

    从here下载“开发库” 将 tar.gz 文件内容解压到一个目录。例如:C:\mysdl 在 Codelite 中,右键单击“工作区视图”中的项目名称 从上下文菜单中,选择“设置...” 将出现“项目设置”对话框。 在“配置类型”中,根据您的要求选择“调试”或“发布”。您还可以对 Debug 和 Release 执行以下步骤。 转到“编译器”选项卡 在“其他搜索路径”中,添加所有 sdl 包含文件所在的路径。例如:C:\mysdl\include 转到“链接器”选项卡 在“库路径”中,添加库路径,例如:C:\mysdl\lib\ 在“选项”中附加-lSDL -lSDLmain -lmingw32 -mwindows(case-matters) 将C:\mysdl\bin\SDL.dll 复制到C:\WINDOWS\SYSTEM32 或者如果是64 位C:\Windows\SysWOW64 包含标题时,您必须使用#include "SDL\SDL.h"#include "SDL.h",具体取决于您配置目录结构的方式。

【讨论】:

我很确定这个人没有使用 Codelite。

以上是关于致命错误:sdl.h:没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章

致命错误:glib.h:使用 vscode 和 mingw 时没有这样的文件或目录

致命错误:Python.h:没有这样的文件或目录

致命错误 C1083:无法打开包含文件:'boost/regex.hpp':没有这样的文件或目录

收到“致命错误 C1083:无法打开包含文件:'gxall.h':没有这样的文件或目录”[重复]

致命错误:string.h:没有这样的文件或目录

致命错误 C1083:无法打开包含文件:'boost/config.hpp':没有这样的文件或目录