为什么我在 SDL_Init 时收到错误消息?
why I'm getting an error when on 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 window 10 mingw32 6.3.0
在您的第一个代码中,您删除了一个名为 SDL_Init
的 int
,让我们更改名称以使其更明显:
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
aka SDL_Init
定义,这可能是由于链接不正确造成的,请参阅 here 了解如何解决这个问题。
当我的代码是:
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 window 10 mingw32 6.3.0
在您的第一个代码中,您删除了一个名为 SDL_Init
的 int
,让我们更改名称以使其更明显:
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
aka SDL_Init
定义,这可能是由于链接不正确造成的,请参阅 here 了解如何解决这个问题。