Bonjour à tous,
Suite à une (grosse) prise de tête avec les wxWidgets, j'ai décidé de me mettre à GTK+. J'ai créé mes premières fenêtres sans problème grâce au cours de Nicolas Joseph (merci à lui au passage) et j'ai décidé de me faire la main avec GModule.
Cepandant je rencontre un plantage pur et simple (le programme retourne 1 sans autre forme de procès) lors de l'appel de la fonction g_module_symbol().
Voici mon code :
(les MessageBoxes de Windows sont là à titre de test et uniquement à titre de test, ne pensez pas que je mélange deux GUI (GTK et Win32) en temps normal)
main.cpp (application)
main_dll.cpp (librairie dynamique)
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 #include <gtk/gtk.h> #include <windows.h> int main(int argc, char **argv) { //On ouvre la dll GModule* dll = g_module_open("gtkdll."G_MODULE_SUFFIX, G_MODULE_BIND_MASK); if(dll != NULL) { //On cherche le symbole gpointer* msb_x; g_module_symbol(dll, "msb", msb_x); MessageBox(NULL,"CpAC","CpaC",MB_OK); void (*msb_r)(int, char**) = (void(*)(int, char**))msb_x; msb_r(argc, argv); //On ferme la dll g_module_close(dll); } return 0; }
Merci d'avance de votre aide!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #include <gtk/gtk.h> #include <windows.h> extern "C" __declspec(dllexport) void msb(int argc, char** argv) { MessageBox(NULL,"Test","test",MB_OK); }
Sp@rtan03
Partager