[英]Bypassing "int main(int argc, char** argv)" in SDL2
I'm working on an crossplatform Opengl 4.5 / DirectX library in C++;我正在使用 C++ 开发跨平台的 Opengl 4.5 / DirectX 库; for mac osx and linux, I would like to use SDL2 with an ogl renderer, and for windows, I would like to implement a directx renderer with wgl.
对于 mac osx 和 linux,我想使用带有 ogl 渲染器的 SDL2,对于 Windows,我想用 wgl 实现一个 directx 渲染器。 Problem is that SDL requires access to "int main(int argc, char** args)" and won't let me define WinMain because of some init code it has in SDLmain.
问题是 SDL 需要访问“int main(int argc, char** args)”并且不允许我定义 WinMain,因为它在 SDLmain 中有一些初始化代码。 Any suggestions ?
有什么建议 ?
PS: I get the error PS:我收到错误
unresolved external symbol _main referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) in VS2015.
You might want to define SDL_MAIN_HANDLED
before including SDL.h
eg你可能希望定义
SDL_MAIN_HANDLED
包括前SDL.h
如
#define SDL_MAIN_HANDLED
#include "SDL.h"
see https://wiki.libsdl.org/SDL_SetMainReady见https://wiki.libsdl.org/SDL_SetMainReady
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.