我正在尝试通过 Visual Studio 2008 Express 在 C++ 中使用 SDL。以下程序编译但不链接:
#include <SDL.h>
int main(int argc, char *argv[])
{
return 0;
}
链接错误是:
LINK : fatal error LNK1561: entry point must be defined
无论我如何或是否与 SDL.lib 和 SDLmain.lib 链接,我都会得到这个。定义main
为main()
或SDL_main()
给出相同的错误,有或没有extern "C"
.
编辑:我通过在 main.cpp 中不包含 SDL.h 解决了这个问题——我做了一个独立于问题的重构。一个类似的解决方案是#undef main
在定义函数之前。