未定义参考SDL2 C ++

时间:2017-05-27 16:11:37

标签: c++ sdl-2

我一直在尝试用C ++(一个控制台应用程序)编译SDL2代码。我使用Code :: Blocks和GNU GCC Complier。这是代码:

#include <iostream>

#include <SDL2/SDL.h>

int main( int argc, char *argv[] )
{
    if ( SDL_Init( SDL_INIT_EVERYTHING ) < 0)
    {
        std::cout << "SDL could not initialise! SDL Error: " << SDL_GetError( )<< std::endl;
    }

    return EXIT_SUCCESS;
}

它给了我这些错误:

undefined reference to `SDL_Init'
undefined reference to `SDL_GetError'
undefined reference to `WinMain@16'

我在其他链接器选项中有“-lmingw32 -lSDL2main -lSDL2”,在搜索目录中我放了:

  • ...... \ SDL2-devel-2.0.5-mingw \ SDL2-2.0.5 \ x86_64-w64-mingw32 \ include in Compiler
  • ...... \ SDL2-devel-2.0.5-mingw \ SDL2-2.0.5 \ x86_64-w64-mingw32 \ lib in 链接器

我将所有include,lib和bin文件移动到MinGW的文件夹中。

知道我做得很糟糕的是什么?

谢谢!

1 个答案:

答案 0 :(得分:-2)

对于,include指令中的头文件必须是:

#include <SDL.h>

<SDL2/SDL.h>用于系统。