我可以用SDL1.2编译但不能用SDL2编译(C :: B)

时间:2013-06-09 15:14:26

标签: sdl codeblocks

我已经学习 SDL 一段时间了,现在我决定尝试 SDL2 ,主要是尝试硬件加速。但问题是,我根本无法编译它,而相同的代码使用 SDL1.2 正确编译。

示例代码为:

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

使用原始链接器设置:-lmingw32 -lSDLmain -lSDL 一切都在编译。

但是,只要我将#include "SDL/SDL.h"更改为#include "SDL2/SDL.h" 并将链接器设置更改为 -lmingw32 -lSDL2main -lSDL2 我得到了错误:

obj\Debug\main.o||In function `SDL_main':|
main.cpp|5|undefined reference to `SDL_Init'|
main.cpp|8|undefined reference to `SDL_Quit'|
libmingw32.a(main.o):main.c:(.text.startup+0xa7)||undefined reference to `WinMain@16'|

我在 C中安装了 C:/SDL-1.2.15 SDL2 SDL1.2 : / SDL2

在搜索目录中,我添加了SDL1.2和SDL2 Include和Lib文件夹。

1 个答案:

答案 0 :(得分:1)

我不确定这是否可行,但如果您使用的是“x86_64-w64-mingw32”文件夹,请尝试使用另一个(i686),这对我有所帮助。我和你有完全相同的问题,并且使用字面意思,与你一样,使用相同的测试代码。我希望这会有所帮助。