【问题标题】:I can compile with SDL1.2 but not with SDL2 (C::B)我可以用 SDL1.2 编译,但不能用 SDL2 (C::B)
【发布时间】:2013-06-09 15:14:25
【问题描述】:

我学习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:/SDL-1.2.15 中安装了 SDL1.2,在 C 中安装了 SDL2: /SDL2

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

【问题讨论】:

    标签: sdl codeblocks


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2018-05-21
      • 1970-01-01
      • 2013-12-01
      • 2019-08-21
      • 1970-01-01
      • 2017-03-31
      • 1970-01-01
      • 1970-01-01
      • 2020-03-21
      相关资源
      最近更新 更多