安装/使用SDL for Qt

时间:2013-08-10 21:43:10

标签: qt dll sdl

我正在尝试在Windows 7上为Qt 5.1安装SDL library,但我被卡住了。我是一个使用外部库的新手,所以请耐心等待,我认为这种设置非常基础。

我下载了 SDL-devel-1.2.15-mingw32.tar.gz(Mingw32)文件,将其解压缩,并在我的项目PRO文件中添加:

  

INCLUDEPATH + =“C:\ SDL \ SDL-1.2.15 \ include \ SDL”

     

LIBS + =“C:\ SDL \ SDL-1.2.15 \ bin \ SDL.dll”

现在当我尝试编译它时:

#include <iostream>
#include <stdlib.h>
#include "SDL.h"
using namespace std;

int main()
{
    SDL_Init( SDL_INIT_EVERYTHING );
    cout << "Hello World!" << endl;

    return 0;
}

我明白了:

  

crt0_c.c:-1:错误:未定义引用`WinMain @ 16'

     

collect2.exe:-1:错误:错误:ld返回1退出状态

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

应该防止SDL重载主方法。为此,请在包含SDL标头的任何位置添加以下代码。

#include <SDL/SDL.h>
#include <SDL/SDL_thread.h>

#ifdef __MINGW32__
#undef main /* Prevents SDL from overriding main() */
#endif

为了使它适合你的情况,你的project.pro文件应该是这样的:

  

LIBS + = -LC:\ SDL-devel-1.2.15-mingw32 \ SDL-1.2.15 \ lib -llibSDL
  INCLUDEPATH + = C:\ SDL-devel-1.2.15-mingw32 \ SDL-1.2.15 \ include

由于它是我的代码的常规,我在Windows 8上使用sdl版本1.2.15,32位用于mingw编译器。

参考:

要查找有关SDL ffmpeg集成的优秀教程,您可以参考dranger