一些 SDL 链接问题

some SDL linking problems

这就是我遇到的问题。突然之间,实施 SDL 在 vs 2013 上不再起作用。更具体地说,任何时候包含 SDL 标准 header 我都会收到链接器错误。我尝试使用以下代码构建我的项目:

#include <iostream>
#include <SDL.h>

SDL_Window *window;
SDL_GLContext context;

int main(int argc, char *argv[]){
    std::cout << "hello world" << std::endl;
    if (SDL_Init(SDL_INIT_EVERYTHING)){
        SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
        window = SDL_CreateWindow("test", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600, SDL_WINDOW_OPENGL&SDL_WINDOW_SHOWN);
        context = SDL_GL_CreateContext(window);
    }
    SDL_Delay(20000);
    SDL_GL_DeleteContext(context);
    SDL_DestroyWindow(window);
    system("pause");
    return 0;
}

我收到以下错误:

  1. 错误 1 ​​error LNK2019: 未解析的外部符号 _SDL_CreateWindow 在函数 _SDL_main C:\Users\Nas\Documents\Visual Studio 中引用 2013\Projects\Open GL\Open GL\main.obj

  2. 错误 2 error LNK2019: 未解析的外部符号 _SDL_DestroyWindow 在函数 _SDL_main C:\Users\Nas\Documents\Visual Studio 中引用 2013\Projects\Open GL\Open GL\main.obj

  3. 错误 3 error LNK2019: 未解析的外部符号 _SDL_GL_SetAttribute 在函数 _SDL_main C:\Users\Nas\Documents\Visual Studio 中引用 2013\Projects\Open GL\Open GL\main.obj

  4. 错误 4 error LNK2019: 未解析的外部符号 _SDL_GL_CreateContext 在函数 _SDL_main C:\Users\Nas\Documents\Visual Studio 中引用 2013\Projects\Open GL\Open GL\main.obj

  5. 错误 5 error LNK2019: 未解析的外部符号 _SDL_GL_DeleteContext 在函数 _SDL_main C:\Users\Nas\Documents\Visual Studio 中引用 2013\Projects\Open GL\Open GL\main.obj

  6. 错误 6 error LNK2019: 未解析的外部符号 _SDL_Delay 在函数 _SDL_main C:\Users\Nas\Documents\Visual Studio 中引用 2013\Projects\Open GL\Open GL\main.obj

  7. Error 7 error LNK2019: 未解析的外部符号 _SDL_Init 在函数 _SDL_main C:\Users\Nas\Documents\Visual Studio 中引用 2013\Projects\Open GL\Open GL\main.obj

  8. 错误 8 error LNK2019: 未解析的外部符号 _main 在函数 ___tmainCRTStartup C:\Users\Nas\Documents\Visual Studio 2013\Projects\Open GL\Open GL\MSVCRTD 中引用.lib(crtexe.obj)

  9. Error 9 error LNK1120: 8 unresolved externals C:\Users\Nas\Documents\Visual Studio 2013\Projects\Open GL\Debug\Open GL.exe

感谢任何帮助:)

这是我已经尝试过的列表:

  1. 正在取消定义 main ~> #undef main
  2. 将我的子系统更改为 windows 和控制台(均无效)
  3. 反复清理和重建我的项目。

你link反对SDL.dll吗?

Here 解释了如何做到这一点。

干杯,
林德熊