Bonjour,

J'essai d'embarquer mono avec mon programme sous windows, mais lorsque que je cherche à executer mon programme, il ne se passe rien : quel est le problème ?

création de mono.lib
Code : Sélectionner tout - Visualiser dans une fenêtre à part
lib /nologo /def:mono.def /out:mono.lib /machine:x86
copie de mono.lib dans C:\Mono\bin et dans le répertoire de mon application

teste.c
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
#include <mono/jit/jit.h>
#include <mono/metadata/environment.h>
#include <stdlib.h>
 
static void main_function (MonoDomain *domain, const char *file, int argc, char** argv)
{
	MonoAssembly *assembly;
 
	assembly = mono_domain_assembly_open (domain, file);
	if (!assembly)
		exit (2);
 
	mono_jit_exec (domain, assembly, argc, argv);
}
 
 
int main(int argc, char* argv[]) {
	MonoDomain *domain;
	const char *file;
	int retval;
 
	if (argc < 2){
		fprintf (stderr, "Please provide an assembly to load\n");
		return 1;
	}
	file = argv [1];
 
	mono_config_parse (NULL);
 
	domain = mono_jit_init (file);
 
	main_function (domain, file, argc - 1, argv + 1);
 
	retval = mono_environment_exitcode_get ();
 
	mono_jit_cleanup (domain);
	return retval;
}
compilé sans erreur avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
rem gcc (GCC) 3.4.5 (mingw-vista special r3)
rem pkg-config --cflags --libs mono` -lm
gcc -o teste teste.c -mno-cygwin -mms-bitfields -mwindows -IC:/Mono/include/mono-1.0 -IC:/Mono/include/glib-2.0 -IC:/Mono/lib/glib-2.0/include  -mno-cygwin -mms-bitfields -mwindows -LC:/Mono/lib -lmono -lws2_32 -lpsapi -lole32 -lwinmm -loleaut32 -ladvapi32 -lversion -lgthread-2.0 -lglib-2.0 -lintl -lm
test.cs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
using System;
 
class MyApp {
	static void Main() {
		Console.WriteLine("OK");
	}
}
compilé sans erreur avec
lors de l'exécution de
rien ne s'affiche, aucune erreur, pas de "OK" !

Mon PC
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
C:\Mono
C:\MinGW
%path% = ...;C:\MinGW\bin;C:\Mono\bin;C:\Mono\include;
Merci pour votre aide...