目前,我正在尝试弄清楚如何使用mingw设置SDL。我已经看到了几个具有方法(或更确切地说是重新发布的方法)的网站,但是我宁愿没有“快速'n dirty”设置。

我看到有一个SDL-CONF文件,我已经安装了MSYS,并且已经下载了最新的SDL 1.2 MINGW开发人员版本。

有帮助吗?

解决方案

教程是 这里. 。它解释了一切所需的一切:

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

向下滚动到开发图书馆部分,然后下载Mingw32开发库

打开GZ档案,里面应该有一个 *.tar档案。打开 *.tar,其中应该有一个文件夹。打开文件夹,它将包含一堆子文件夹。

  1. 将LIB子文件夹的内容复制到Mingw Lib文件夹。 mingw lib文件夹应在c: mingwstudio mingw lib。

  2. 之后,打开存档中的包含子文件夹,然后将名为“ SDL”的文件夹提取到mingw include include文件夹,该文件夹应在c: mingwstudio mingw include。

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

  1. 现在,从档案中取下sdl.dll(应该在箱子文件夹中)并提取它。编译时,您将将其与EXE相同的目录。

另外,您可以将sdl.dll复制到C: Windows System32,因此即使它不在同一目录中,您的SDL应用程序也会找到SDL.dll。如果您使用的是64位版本的Windows,则需要将DLL放入C: Windows Syswow64中。

此方法的问题是,如果您使用多个使用不同版本的SDL的SDL应用程序,则会有版本冲突。如果您在System32中具有SDL 1.2.8,则应用程序使用1.2.13时,您将遇到问题。通常,您希望将您的sdl.dll与可执行开发的目录相同的目录中,并且在分发应用程序时,您始终希望将SDL.dll与EXE相同的目录中。

  1. 现在,启动mingw开发人员工作室,然后启动一个新的空项目。

  2. 转到项目设置。

  3. 在“链接”选项卡下,粘贴:mingw32,sdlmain,sdl在库字段中。

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

//

#include "SDL/SDL.h"
int main( int argc, char* args[] ) {
  SDL_Init( SDL_INIT_EVERYTHING ); //Start SDL
  SDL_Quit(); //Quit SDL
  return 0;
}
  1. 现在编译。如有必要,保存新的源文件,并确保SDL.DLL与可执行文件处于同一目录中。如果没有错误,您就完成了。否则,请返回并确保您不会跳过一步。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top