Fixed bug 3926 - SDL_main export e_pluschauskas I noticed that after updating SDL to 2.0.6 my application now exports SDL_main. At GitHub SDL mirror (branch 2.0.5) SDL_main prototyped as extern C_LINKAGE int SDL_main(int argc, char *argv[]); but at branch 2.0.6 prototype is extern C_LINKAGE DECLSPEC int SDL_main(int argc, char *argv[]);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
diff --git a/include/SDL_main.h b/include/SDL_main.h
index 2af3236..9d1cb0a 100644
--- a/include/SDL_main.h
+++ b/include/SDL_main.h
@@ -63,10 +63,13 @@
/* On Android SDL provides a Java class in SDLActivity.java that is the
main activity entry point.
- See README-android.md for more details on extending that class.
+ See docs/README-android.md for more details on extending that class.
*/
#define SDL_MAIN_NEEDED
+/* We need to export SDL_main so it can be launched from Java */
+#define SDLMAIN_DECLSPEC DECLSPEC
+
#elif defined(__NACL__)
/* On NACL we use ppapi_simple to set up the application helper code,
then wait for the first PSE_INSTANCE_DIDCHANGEVIEW event before
@@ -85,6 +88,10 @@
#define C_LINKAGE
#endif /* __cplusplus */
+#ifndef SDLMAIN_DECLSPEC
+#define SDLMAIN_DECLSPEC
+#endif
+
/**
* \file SDL_main.h
*
@@ -107,7 +114,7 @@
/**
* The prototype for the application's main() function
*/
-extern C_LINKAGE DECLSPEC int SDL_main(int argc, char *argv[]);
+extern C_LINKAGE SDLMAIN_DECLSPEC int SDL_main(int argc, char *argv[]);
#include "begin_code.h"