在 MinGW 中设置 SDL

Posted

技术标签:

【中文标题】在 MinGW 中设置 SDL【英文标题】:Setting up SDL in MinGW 【发布时间】:2011-11-29 07:09:29 【问题描述】:

目前,我正在尝试弄清楚如何使用 MinGW 设置 SDL。我见过几个有方法的网站(或者更确切地说,重新发布了相同的方法),但我宁愿没有“快速'n脏”设置。

我看到有一个 sdl-conf 文件,我已经安装了 MSYS,并且我已经下载了最新的 SDL 1.2 MinGW 开发者版本。

【问题讨论】:

【参考方案1】:

教程是here。它解释了所需的一切:

    您需要做的第一件事是下载 SDL 标头和二进制文件。 您可以在 SDL 网站上找到它们,特别是在此页面上。

向下滚动到开发库部分并下载 Mingw32 开发库

打开 gz 存档,里面应该有一个 *.tar 存档。 打开 *.tar,里面应该有一个文件夹。 打开文件夹,里面会有一堆子文件夹。

    将 lib 子文件夹的内容复制到 MinGW lib 文件夹。 MinGW lib 文件夹应位于 C:\MinGWStudio\MinGW\lib。

    之后,打开压缩包中的 include 子文件夹,将名为“SDL”的文件夹解压到 MinGW 的 include 文件夹中,该文件夹应位于 C:\MinGWStudio\MinGW\include。

注意:某些版本的 SDL 在存档的包含子文件夹中没有名为“SDL”的文件夹,而只是一堆头文件。要解决这个问题,只需在您的 MinGW 包含文件夹中创建一个名为“SDL”的文件夹,然后将所有头文件从存档复制到您创建的文件夹中。

    现在从存档中取出 SDL.dll(它应该在 bin 子文件夹中)并解压缩它。当你编译它时,你将把它和你的 exe 放在同一个目录中。

或者,您可以将 SDL.dll 复制到 C:\WINDOWS\SYSTEM32,这样即使 SDL.dll 不在同一个目录中,您的 SDL 应用也能找到它。如果您使用的是 64 位版本的 Windows,您需要将 dll 放在 C:\Windows\SysWOW64 中。

此方法的问题是,如果您有多个使用不同版本 SDL 的 SDL 应用程序,则会出现版本冲突。如果应用程序使用 1.2.13 时在 SYSTEM32 中有 SDL 1.2.8,那么您将遇到问题。通常,您希望将 SDL.dll 与开发的可执行文件放在同一目录中,并且在分发应用程序时,您总是希望将 SDL.dll 与 exe 放在同一目录中。

    现在启动 MinGW Developer Studio 并开始一个新的空项目。

    转到项目设置。

    在“链接”选项卡下,粘贴: mingw32,SDLmain,SDL 在图书馆领域。

    将source 新的源文件添加到项目中,并将以下代码粘贴到新的源文件中:

//

#include "SDL/SDL.h"
int main( int argc, char* args[] ) 
  SDL_Init( SDL_INIT_EVERYTHING ); //Start SDL
  SDL_Quit(); //Quit SDL
  return 0;

    现在编译。如有必要,保存新的源文件并确保 SDL.dll 与可执行文件位于同一目录中。如果没有错误,你就完成了。否则,请返回并确保您没有跳过任何步骤。

【讨论】:

伙计,非常感谢。 :D 我不知道我是怎么错过的。如果我有任何问题,我会回复。 好的,一切似乎都正常。再次感谢。 :D 或者如果您不知道如何接受答案,您应该阅读常见问题解答(***.com/faq) 啊,我不知道。完毕。 :)

以上是关于在 MinGW 中设置 SDL的主要内容,如果未能解决你的问题,请参考以下文章

在 CodeBlocks 中设置 GLFW 的问题

mingw sdl库放在哪

Eclipse 找不到 MinGW/无法在 Eclipse 上设置 C++

没有为 MinGW 找到 SDL

CodeBlocks16.01 MinGW32位 配置SDL2.0.4

SDL2 未定义对 MinGW 的几个函数的引用