Index: otp/erts/emulator/Makefile.in =================================================================== --- otp.orig/erts/emulator/Makefile.in 2013-05-11 13:49:51.931058700 +0300 +++ otp/erts/emulator/Makefile.in 2013-05-11 13:51:26.774530000 +0300 @@ -193,7 +193,7 @@ else EMU_CC = @EMU_CC@ endif -TYPE_FLAGS += -DSTATIC_ERLANG_DRIVER +TYPE_FLAGS += -DSTATIC_ERLANG_DRIVER -DBUILDING_DLL else EMU_CC = @EMU_CC@ endif Index: otp/erts/emulator/beam/global.h =================================================================== --- otp.orig/erts/emulator/beam/global.h 2013-05-11 13:49:58.617755000 +0300 +++ otp/erts/emulator/beam/global.h 2013-05-11 13:50:32.289108900 +0300 @@ -671,7 +671,7 @@ extern int erts_compat_rel; extern int erts_use_sender_punish; void erts_short_init(void); -void erl_start(int, char**); +void OTP_Export_Flags erl_start(int, char**); void erts_usage(void); Eterm erts_preloaded(Process* p); /* erl_md5.c */ Index: otp/erts/emulator/sys/win32/erl_win_sys.h =================================================================== --- otp.orig/erts/emulator/sys/win32/erl_win_sys.h 2013-05-11 13:50:24.117077000 +0300 +++ otp/erts/emulator/sys/win32/erl_win_sys.h 2013-05-11 13:50:32.304734200 +0300 @@ -114,6 +114,13 @@ #define HAVE_ERTS_CHECK_IO_DEBUG int erts_check_io_debug(void); +#ifdef BUILDING_DLL +# define OTP_Export_Flags __declspec(dllexport) +#else +# define OTP_Export_Flags __declspec(dllimport) +#endif + + /* * For erl_time_sup */