只需使用SDL2进行小型项目...
系统信息:Windows
应用信息:使用C(纯C,无c ++),mingw-x64和SDL2。
现在;
首先,SDL.h
需要将main
函数重命名为WinMain
。
另一方面,在获得屏幕分辨率时,我倾向于使用GetSystemMetrics
函数,该函数要求windows.h
包含在预处理器部分中,此时{{1 }}在我的代码中与先前在WinMain
中声明的WinMain
冲突。当我同时使用winbase.h
和SDL.h
时,编译器会响应:
以前的'WinMain'声明在这里:
windows.h
这是因为int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd);
被声明在WinMain
中的某个位置,而winbase.h
是通过windows.h
自动包含的。
是否有一种方法可以使用GetSystemMetrics
/ windows.h
来不使用屏幕分辨率?还有其他想法吗?
答案 0 :(得分:0)
好!我意识到我做错了...
在链接阶段,我使用了以下库,链接器抱怨找不到WinMain
函数。
-lSDL2main
-lSDL2
然后我添加了mingw32库,如下所示,问题得以解决(库的顺序确实很重要)。
-lmingw32
-lSDL2main
-lSDL2