【问题标题】:fatal error: sdl.h: No such file or directory致命错误:sdl.h:没有这样的文件或目录
【发布时间】: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 吗?

标签: c sdl


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 我很确定这个人没有使用 Codelite。
    猜你喜欢
    • 2011-12-08
    • 2012-11-04
    • 2017-05-09
    • 2021-05-15
    • 2014-10-31
    • 2022-01-11
    • 2021-09-19
    • 2016-06-23
    相关资源
    最近更新 更多