diff --git a/BizHawk.MultiClient/BizHawk.MultiClient.csproj b/BizHawk.MultiClient/BizHawk.MultiClient.csproj
index ffe2246277..5a7311cffd 100644
--- a/BizHawk.MultiClient/BizHawk.MultiClient.csproj
+++ b/BizHawk.MultiClient/BizHawk.MultiClient.csproj
@@ -158,6 +158,7 @@
SoundConfig.cs
+
Form
diff --git a/BizHawk.MultiClient/LuaInterface.dll b/BizHawk.MultiClient/LuaInterface.dll
index 6a350693fa..30fabf940d 100644
Binary files a/BizHawk.MultiClient/LuaInterface.dll and b/BizHawk.MultiClient/LuaInterface.dll differ
diff --git a/BizHawk.MultiClient/lua51.dll b/BizHawk.MultiClient/lua51.dll
index a40999b8c5..80166c7e51 100644
Binary files a/BizHawk.MultiClient/lua51.dll and b/BizHawk.MultiClient/lua51.dll differ
diff --git a/LuaInterface/Lua/src/LuaDLL.cpp b/LuaInterface/Lua/src/LuaDLL.cpp
index f969f42a88..293cd44a7e 100644
--- a/LuaInterface/Lua/src/LuaDLL.cpp
+++ b/LuaInterface/Lua/src/LuaDLL.cpp
@@ -15,16 +15,19 @@ using namespace System::Security;
#using
#include
-// #define LUA_BUILD_AS_DLL
+#define LUA_BUILD_AS_DLL
#define LUA_LIB
#define LUA_CORE
#define lua_c
#define luac_c
#define loslib_c
+extern "C"
+{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
+}
// Not sure of the purpose of this, but I'm keeping it -kevinh
static int tag = 0;
diff --git a/LuaInterface/Lua/src/lua514.vcxproj b/LuaInterface/Lua/src/lua514.vcxproj
index bc6dec1a65..a7b4050031 100644
--- a/LuaInterface/Lua/src/lua514.vcxproj
+++ b/LuaInterface/Lua/src/lua514.vcxproj
@@ -94,8 +94,8 @@
MultiThreadedDLL
Level3
ProgramDatabase
- StdCall
4996;%(DisableSpecificWarnings)
+ Cdecl
@@ -136,7 +136,9 @@
-
+
+ false
+
diff --git a/LuaInterface/Lua/src/luaglue.cpp b/LuaInterface/Lua/src/luaglue.cpp
index 81369412ec..2b68a16a82 100644
--- a/LuaInterface/Lua/src/luaglue.cpp
+++ b/LuaInterface/Lua/src/luaglue.cpp
@@ -1,10 +1,12 @@
-// #define LUA_BUILD_AS_DLL
+#define LUA_BUILD_AS_DLL
#define LUA_LIB
#define LUA_CORE
#define lua_c
#define luac_c
#define loslib_c
+extern "C" {
+
#include "lua.h"
#include "lapi.c"
@@ -33,9 +35,11 @@
#include "ltable.c"
#include "ltablib.c"
#include "ltm.c"
-#include "lua.c"
+//#include "lua.c"
// #include "luac.c"
#include "lundump.c"
#include "lvm.c"
#include "lzio.c"
// #include "print.c"
+
+}
\ No newline at end of file
diff --git a/LuaInterface/Lua/src/lundump.c b/LuaInterface/Lua/src/lundump.c
index 8010a45795..fdfa162c50 100644
--- a/LuaInterface/Lua/src/lundump.c
+++ b/LuaInterface/Lua/src/lundump.c
@@ -73,6 +73,7 @@ static lua_Number LoadNumber(LoadState* S)
return x;
}
+#undef LoadString
static TString* LoadString(LoadState* S)
{
size_t size;