[Mono-dev] Compiling Mono with Visual Studio 2013.

Geoffrey Clark grey at internode.on.net
Mon Apr 7 02:23:06 UTC 2014

Hi guys,

 I've put in some extra effort to get mono compiling on windows with Visual
Studio 2013. I see this is useful to others, so figured I'd share my

I've attached a diff file to this email, but if that is scrubbed, it will
be available here: http://bagofbacon.com/patch.diff

a very quick breakdown of my changes are:

adding "#include mini-native-types.c" (yes, .c) to line 18 in

Moving the DebuggerTransport struct definition into the header of
debugger-agent, and adding an empty function definition for
mono_debugger_agent_register_transport(DebuggerTransport *trans) at line
9408 (aprox).

Each of these changes is intendid to assist the visual studio linker find
the needed definitions. I expect they are not appropriate standard for the
repository itself, but for those needing a "working build" quickly, this
should hopefully get things running.

Good luck! :)
 - G. Clark.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20140407/21d31aea/attachment.html>
-------------- next part --------------
diff --git a/mono/mini/debugger-agent.c b/mono/mini/debugger-agent.c
index 27c785a..4fcccd0 100644
--- a/mono/mini/debugger-agent.c
+++ b/mono/mini/debugger-agent.c
@@ -269,14 +269,6 @@ typedef struct {
 	MonoContext restore_ctx;
 } DebuggerTlsData;
-typedef struct {
-	const char *name;
-	void (*connect) (const char *address);
-	void (*close1) (void);
-	void (*close2) (void);
-	gboolean (*send) (void *buf, int len);
-	int (*recv) (void *buf, int len);
-} DebuggerTransport;
  * Wire Protocol definitions
@@ -1411,9 +1403,6 @@ static DebuggerTransport transports [MAX_TRANSPORTS];
 static int ntransports;
-mono_debugger_agent_register_transport (DebuggerTransport *trans);
 mono_debugger_agent_register_transport (DebuggerTransport *trans)
 	register_transport (trans);
@@ -9415,5 +9404,10 @@ mono_debugger_agent_debug_log_is_enabled (void)
 	return FALSE;
+mono_debugger_agent_register_transport(DebuggerTransport *trans)
diff --git a/mono/mini/debugger-agent.h b/mono/mini/debugger-agent.h
index 95b7650..90485a3 100644
--- a/mono/mini/debugger-agent.h
+++ b/mono/mini/debugger-agent.h
@@ -59,4 +59,13 @@ mono_debugger_agent_debug_log_is_enabled (void) MONO_INTERNAL;
 mono_debugger_agent_transport_handshake (void) MONO_INTERNAL;
+typedef struct {
+	const char *name;
+	void(*connect) (const char *address);
+	void(*close1) (void);
+	void(*close2) (void);
+	gboolean(*send) (void *buf, int len);
+	int(*recv) (void *buf, int len);
+} DebuggerTransport;
diff --git a/mono/mini/mini-generic-sharing.c b/mono/mini/mini-generic-sharing.c
index ab9245f..5f30627 100644
--- a/mono/mini/mini-generic-sharing.c
+++ b/mono/mini/mini-generic-sharing.c
@@ -15,6 +15,8 @@
 #include "mini.h"
+#include "mini-native-types.c";

More information about the Mono-devel-list mailing list