当我的代码是:
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上
答案 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。