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)
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;
}
main_dll.cpp (librairie dynamique)
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);
}
Merci d'avance de votre aide!

Sp@rtan03