Index: otp/erts/emulator/Makefile.in =================================================================== --- otp.orig/erts/emulator/Makefile.in 2014-02-02 15:52:33.437500000 +0200 +++ otp/erts/emulator/Makefile.in 2014-02-02 15:53:18.061609800 +0200 @@ -224,7 +224,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 2014-02-02 15:52:33.640625000 +0200 +++ otp/erts/emulator/beam/global.h 2014-02-02 15:53:18.121610000 +0200 @@ -790,7 +790,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 2014-02-02 15:53:14.824935100 +0200 +++ otp/erts/emulator/sys/win32/erl_win_sys.h 2014-02-02 15:53:18.158276700 +0200 @@ -115,6 +115,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 */