为什么在SDL_Init上出现错误?

时间:2019-03-08 12:35:14

标签: c++ sdl init

当我的代码是:

int WinMain(int argc, char **argv) {

    int SDL_Init(SDL_INIT_VIDEO);
    return 0;
}

工作正常 但是当我的代码是:

int WinMain(int argc, char **argv) {

    if(SDL_Init(SDL_INIT_VIDEO) < 0) {
        // nothing here
    }
    return 0;
}

我收到此错误: undefined reference to 'SDL_Init'

我在VSC 1.32.1窗口10 mingw32 6.3.0上

1 个答案:

答案 0 :(得分:1)

在第一个代码中,您将一个名为int的{​​{1}}删除了,让我们更改名称使其更明显:

SDL_Init

在第二个代码中,您调用一个函数:

int WinMain(int argc, char **argv) {
    int variable_name(some_value);    
}

这就是为什么在第一次您没有得到错误,但是在第二次您却得到错误的原因。似乎没有定义int WinMain(int argc, char **argv) { if(some_function(some_value) < 0) { } } some_function,这可能是由于未正确链接造成的,有关解决方法,请参见here